java class implements & interface

public class A implements B{}

A 是类名,implements是实现B与java之间的接口.

implements是一个类实现一个接口用的关键字,是用来实现接口中定义的抽象方法。

比如:people是一个接口,里面有say这个方法。

public interface people(){ public say();}但是接口没有方法体。

只能通过一个具体的类去实现其中的方法体。

比如chinese这个类,就实现了people这个接口。

public class chinese implements people{ public say() {System.out.println("你好!");}}

在java中implements表示子类继承父类,如类A继承类B写成 class A implements B{}

与Extends的不同

extends, 可以实现父类,也可以调用父类初始化 this.parent()。

而且会覆盖父类定义的变量或者函数。

这样的好处是:架构师定义好接口,让工程师实现就可以了。整个项目开发效率和开发成本大大降低。

implements,实现父类,子类不可以覆盖父类的方法或者变量。即使子类定义与父类相同的变量或者函数,也会被父类取代掉。

这两种实现的具体使用,是要看项目的实际情况,需要实现,不可以修改implements,只定义接口需要具体实现,或者可以被修改扩展性好,用extends。

s = (Item[]) new Object[1];

这里,为什么不能直接用  s = new Item[1];    ?

Java编程思想上解释为类型擦除。

我的理解:

Item是某个类型,该类型在未创建泛型类时,是不确定的(不知道是那个class类),Java中的new对象必须是明确已知的对象,就是说必须要有class文件与之对应,而这里你直接new Item[1],Item对应哪个class文件JVM并不知道,所以是不对的;但Item是一个类型这一点是确定的并且只能是一种类型,而Java支持类型转换,你可以将某个类型强制转换为另一种类型,所以s = (Item[]) new Object[1];是可以的,也是唯一的方式。

最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 35,252评论 18赞 399
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 137,182评论 19赞 139
  • 小编费力收集:给你想要的面试集合 1.C++或Java中的异常处理机制的简单原理和应用。 当JAVA程序违反了JA...
    八爷君阅读 5,275评论 1赞 114
  • 对象的创建与销毁 Item 1: 使用static工厂方法,而不是构造函数创建对象:仅仅是创建对象的方法,并非Fa...
    孙小磊阅读 2,202评论 0赞 3
  • 人生就像是一辆列车,逢站必停,到站之后有人会上车,有人会下车,来来往往,身边的人换了很多次,每一次都会是崭新的面孔...
    琉璃婉儿阅读 844评论 0赞 0

友情链接更多精彩内容