关于接口和抽象类

来源:互联网 发布:jquery 对象数组 查找 编辑:程序博客网 时间:2024/05/17 08:43

关于抽象类

抽象类使用abstract关键字,在类的继承层次中  位于上层的类因为更具有通用性,所以他的方法也更加抽象。

使用抽象类的注意问题:1即使不含有抽象方法,也可以把这个类声明为抽象类  2抽象类不能被实例化,但是可以定义一个对象变量来引用非抽象子类的对象 3扩展抽象类要么定义部分抽象方法或者不定义,这时候子类必须声明为抽象类,从这个层次上来说,抽象类里面的抽象方法充当着占位的角色,要么定义全部抽象方法,这时候子类就不是抽象的了

关于接口

可以把接口理解成一个没有实例域的抽象类,这里要注意 尽管不能定义实例域和静态方法 可以可以定义常量 如SwingConstants 就是这样的一个接口 只有关于方向的常量

关于这两个概念更深层次的区别 或者说干吗要提出两个不同的概念,可以拿它和c++的来做对比,因为c++支持类的多继承,但是java的类不支持多继承,所以提出接口来间接的实现多继承,因为一个类可以实现多个接口。

小弟刚接触java 关于如何使用接口实现多继承 实在没找到相关的例子,并且主观认为因为接口中不能定义实例域,所以多继承 主要是为了继承方法,可以要是碰到需要继承实例域怎么办呢?

原创粉丝点击