一,抽象类
1,什么是抽象类
使用abstract关键字修饰的类就是抽象类,抽象类不能够被实例化,也就是不能够new出一个实例。
2,什么叫抽象方法
使用abstract修饰,并且没有方法体的方法就做抽象方法。
3,抽象类和一般类的区别
抽象类使用abstract修饰,类中可以含有抽象方法,一般类则不是;抽象类不能直接构建对象,抽象类的实现必须要依赖一般类的继承,所以抽象类必须作为父类存在。
4,抽象类的定义
修饰词 abstract class 类名{类体}
5,抽象方法的定义
修饰词 abstract 返回值类型 方法体(参数);
6,抽象类的注意事项
(1)抽象类要有关键字abstract关键字修饰;
(2)抽象类中一般方法和抽象方法一般可以并存;
(3)抽象类中可以没有抽象方法,含有抽象方法的类一定是抽象类;
(4)抽象类可以声明,但是不能穿件对象;
(5)抽象类是作为直接或间接地父类存在;
(6)抽象类继承抽象类时可以不用是实现其父类的所有抽象方法,一般类继承抽象类时必须执行父类所有未执行的抽象方法;
(7)抽象方法必须依靠其子类去重写实现其方法体才能被真实的使用;
二,接口
1,什么是接口
接口就是实现某些特定功能的类,是一个功能的集合,接口的地位和class等同,在声明接口的方法时,关键字abstract可以使用,也可不用,一个类使用implements关键字代表了某个类实现了某个接口,那么该类必须实现接口中声明的方法(抽象类无需实现);
2,接口的定义
修饰词 interface 名称{}
3,接口的实现
public class 类名 implements 接口名称{}
4,接口的存在原因
因为java是但继承,不能很好地满足自身的需求和延展性,所以有了接口,一个类可以通过implements关键字实现多个接口,近似的实现多继承的效果,可以叫做接口类。
接口是一个特殊的抽象类,不能实例化对象
在接口类体上可以用abstract修饰
5,final不能修饰抽象类,不能修饰接口,不能直接实例化对象(因为被final修饰的类不能被继承,而抽象类必须被继承)
接口中不能有没有初始化的变量,接口中只有常量(常量的字母全部都是大写)