JAVA基础--db09_java继承-final-抽象类-接口

来源:互联网 发布:vs code php开发环境 编辑:程序博客网 时间:2024/05/18 14:25

子类的构造函数第一句都有一个隐式的super();

不管子类构造空不空参,调用的父类都是空参的。如果父类中没有空参的构造,子类中必须明确调用哪一个


final关键字


常量都是大写的

抽象类:

abstract classDemo{

      abstract void show();

}

抽象函数所在的类也必须是抽象的

抽象函数没有方法体,最后还是以分号结束

抽象类不能被实例化,即不能new对象。因为调用抽象方法没意义,因为没有方法体。

抽象类必须有子类覆盖了其所有的抽象方法,才能被实例化,否则还是抽象类

因为可能会有不同的子继承一个父,此时父类不能确定具体的相同的内容,所以搞成抽象的。


因为抽象要想使用需要new对象,抽象又一定是父类。所以private,final不行,static没意义,可以直接类名调用,但是抽象的没方法体。


接口:


一般类è抽象类(一般类中含有抽象方法)è接口(全是抽象方法,接口中还可以定义全局常量)

类与类之间是继承关系,类与接口之间是实现关系

class  DemoImpl implements Demo{
}

要实例化,必须覆盖接口中所有抽象方法。

一个类可以多实现,因为接口中的抽象方法没有方法体,所以不会出现不确定性

一个类在继承另一个类的同时,还可以去实现多个接口

接口与接口之间可以多继承

接口与抽象类:


 

 

 

 

0 0