大家好,今天给各位分享implements是什么意思,implements的意思翻译、用法、同义的一些知识,其中也会对extends和implements进行解释,文章篇幅可能偏长,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在就马上开始吧!
extends和implements是JAVA里面非常重要的两个概念,发现百度里面搜的博客很多写的好差,特意回头再梳理一下。
extends表示继承,无法继承声明为final或abstract的类,并且只能继承一个父类(不像C语言可以继承多个),继承后可以使用父类的方法,也可以重写父类的方法、写自己的方法。
#下面的A叫父类,B,C继承了A,叫子类\nclassA{\ninti;\nvoidf(){\n\n}\n}\n\nclassBextendsA{\nintj;\nvoidf(){\nSystem.out.println("我是B");}//重写方法\nvoidg(){}\n}\n\nclassCextendsA{\nintj;\nvoidf(){\nSystem.out.println("我是C");}//重写方法\nvoidg(){}\n}
父类调用子类实例化的过程:
Aa=newB();
如上代码,实际上有三个过程:
将a声明为父类对象,只是一个引用,未分配空间。
通过B类的构造函数建立了一个B类对象的实例,也就是初始化。
将子类对象temp转换为父类对象并赋给a,向上转型(upcast),是安全的。经过以上3个过程,a就彻底成为了一个A类的实例。
子类往往比父类有更多的属性和方法,上传只是舍弃,是安全的;而向下转型(downcast)有时会增加方法,通常是不安全的。这也是instanceof不能判断一个对象是否是真正的父类对象的原因。
Aa1=newB();\n\nAa2=newC();
如上代码所示,父类A调用了子类B、C,同时子类在继承之后的实现方式又不同,
a1,a2两个虽然都是父类对象,但各自的f()不同。这就是子类型多态的体现。
implements表示实现,可以实现多个接口,通过重写他们的方法去实现各种功能。
说到这里,必须了解接口和类、接口与抽象类的区别。
接口与类的区别:
接口和抽象类:
抽象类和接口的区别:
注:JDK1.8以后,\n接口里可以有静态方法和方法体了。\n接口允许包含具体实现的方法,该方法称为"默认方法",默认方法使用default关键字修饰。\n\n注:JDK1.9以后,允许将方法定义为private,使得某些复用的代码不会把方法暴露出去。
代码实例:
OK,关于implements是什么意思,implements的意思翻译、用法、同义和extends和implements的内容到此结束了,希望对大家有所帮助。