小白学java第21天
抽象方法:没有实现的方法 即没有方法体 用于解决父类方法不确定的问题
当存在抽象方法时,需要在类前加入abstract变为抽象类
一般来说抽象类会被继承其子类来实现抽象方法
抽象类:访问修饰符 abstract 类名{}
注意:
1.抽象类不能被实例化
2.抽象了不一定要包含abstract方法但如果包含了abstract方法已经要声明abstract类
3.abstract只能修饰类和方法不能修饰属性或其他
4.抽象类还是类可以由任意成员(非抽象方法,构造器,静态属性等)
5.抽象方法不能有主题
6.如果一个类继承了抽象类则它必须实现抽象类所有的抽象方法,除非它自己也声明为abstract类
7.抽象方法不能使用private、final、static来修饰,因为这些关键字都是和重写相违背的
抽象方法:访问修饰符 abstract 返回类型 方法名
接口:给出一些没有实现的方法,封装到一起,当某个类要使用时再具体写出方法
语法:interface 接口名{
//属性
//方法(1.抽象方法 2.默认实现方法3.静态方法)}
class 类名 implements 接口{
自己属性;
自己方法;
必须实现的接口的抽象方法}
注意:
1.在接口中抽象方法可以省略abstract关键字
2.jdk8之后接口中可以有默认实现方法,需要用default修饰 例:default public void A{}
3.jdk8之后接口中可以有静态方法
4.接口不能被实例化
5.接口中的所有方法是public方法
6.一个普通类实现接口方法,必须将该接口的所有方法都实现
7.抽象类实现接口可以不用实现接口的方法
8.一个类可以同时实现多个接口
9.接口中的属性只能是final的,而且 publicstatic final修饰符
10.接口中的属性访问形式:接口名.属性名
11.接口类不能继承其他的类但是可以继承多个别的接口
12.接口的修饰符只能是public和默认,这点和类的修饰符是一样的