〇. 匿名对象
概念:创建对象时,不指名对象名
好处:书写简便
弊端:只能使用一次
一. 抽象类
1.1 概念
- 抽象方法:当父类只知道子类应该具有哪些方法,而不能准确的定义子类该如何具有实现这些方法时,这些就是抽象方法。
- 抽象类:具有抽象方法的类就是抽象类
1.2 格式
1、抽象方法:
public abstract 返回类型 方法名 (参数列表);
2、抽象类:
public abstract class 类名 {}
1.3 特点
- 抽象类和抽象方法都需要被abstract修饰
- 抽象方法必须在抽象类中
- 抽象类中可以没有抽象方法
- 抽象类不能创建对象,因为调用抽象方法是没有意义的
1.4 如何使用抽象类
1、创建子类继承抽象类
2、重写父类的所有抽象方法
子类继承抽象类后,必须重写方法,否则子类中也具有抽象方法,子类也就变成了抽象类
3、创建子类对象,调用方法
1.5 注意
- 抽象类一定是一个父类
- 抽象类中可以有非抽象方法,这些方法不仅是子类的共性方法,而且每个子类的实现步骤和细节都相同
- 当子类具有共性方法,而每个子类的具有实现都各不相同时,可以将子类的这些方法抽取到父类中,形成抽象方法,从而这个父类也就是一个抽象类了
1.6 匿名创建抽象类的子类对象
格式:
new 父类名(参数){
// 重写父类方法
public void 方法名 (参数){
// 方法体
}
};
二. 接口
概念:接口是功能的集合,接口是比抽象类更为抽象的"类"。
2.1 定义接口
使用关键字interface定义接口,接口的一个特殊的"类",接口的定义仍然是.java文件,在编译后仍然生成.class文件。
格式:
public interface 接口名{}
2.2 接口中成员变量的特点
接口中的成员变量默认被public static final修饰
2.3 接口中成员方法的特点
接口中的成员方法默认被public abstract修饰
2.4 接口的特点
- 接口需要使用interface修饰
- 接口不能创建对象
- 接口中只能定义抽象方法,不能定义非抽象方法
- Java 8的新特性,接口中可以定义非抽象方法,需要在方法定义时用default修饰
注:default修饰的普通方法只在接口中适用
2.5 如何使用接口
关键字:implements
1、创建子类(实现类)实现接口
2、重写接口中的所有方法
3、创建子类(实现类)对象,调用方法
2.6 类实现接口
类使用implements关键字实现一个接口
格式:
扫描二维码关注公众号,回复:
6991968 查看本文章
public class 实现类 implements 接口名{}
2.7 接口的多实现
一个类可以同时实现多个接口
格式:
public class 实现类 implements 接口1,接口2,...{}
好处: 避免了单继承的局限性
2.8 类在继承的同时实现接口
一个类在继承父类的同时,又实现了多个接口
格式:
public class 实现类 extends 父类 implements 接口1,接口2,...{}
2.9 接口之间的多继承
一个接口可以同时继承多个接口
格式:
public interface 接口 extends 接口1,接口2,...{}