Day10

抽象类abstract

一个抽象的概念,只是用来继承的,最好的情况下,只需要声明,只用来继承和重写。

抽象方法必须在抽象类中。抽象类不能被实例化。

抽象类中不能定义 抽象静态方法,

如果不想重写父类抽象方法,子类也必须定义抽象类

存在构造函数

一个抽象类实现了接口,可以不强制实现方法,但是抽象类的子类必须实现方法,同样地,在抽象类里面实现了方法,抽象类的子类就不用强制实现方法了。

接口

[访问权限修饰符] interface [接口名]{

}

接口不是类,和类是一个平等的数据关系。一个类继承接口,称之为实现接口。

class 类名 implements

接口要用抽象方法

接口和实现接口的子类不是is-a的关系,他们是可以做XX的关系。

使用接口要先实现接口。

这个类也可以称之为接口的子类,能发生类型转换。

一个类可以实现多个接口。

接口默认是abstract的,不需要再加abstract了。

接口的成员特征

定义成员变量

int a ;//会报错,必须初始化
//通过构造方法
{
    a=10;
}
//也会报错
/*
默认是 public static final 修饰
*/
//直接这么写
int a = 10;
//普通全局常量可以用static代码块赋值。但接口的不行

成员方法

接口中的方法默认都是public abstract,定义不了普通方法。
了解的知识点:在java8以后,引入了接口默认方法和静态方法。
默认方法的语法:default 返回值类型 方法名(){}
静态方法的语法:static 返回值类型 方法名(){}  可通过接口名.访问。不能通过实现类调用。

接口之间不是实现,可以继承。

abstract  父子类重写,
引用数据类型: 返回值类型可以改变成继承链上的。  可以返回他的子类。
接口,普通类同上
posted @ 2021-01-11 23:12  多米_dmxq#top  阅读(124)  评论(0)    收藏  举报