1.多态-多种形态1.1多态的概述:同一个对象,在不同时刻表现的不同形态 前提:继承/实现关系 方法重写 父类引用指向子类对象 1.2多态中成员访问特点访问成员变量:编译看左边,执行看左边 访问成员方法:编译看左边,执行看右边 因为方法有覆盖重写 1.3多态的好处和弊端弊端:无法调用子类的特有方法 好处:可以接收任意子类,简化了代码 1.4多态的转换向上转型:父类引用指向子类对象 Animal a = new Cat(); 向下转型:父类引用转为子类对象 Cat c = (Cat)a; ClassCastException 类转换异常 1.5多态转型内存图2.抽象类(abstract)2.1概述:一个没有方法体的方法应定义为抽象方法,类中有抽象方法,应该把类也定义为抽象类。 2.2抽象类的特点1.关键字abstract修饰类和方法 2.抽象类中的抽象方法必须在子类中覆盖重写,如果子类不覆盖重写,那么该类也是抽象类 3.抽象类不能创建抽象类对象 4.抽象类中不一定有抽象方法,有抽象方法的类一定是抽象类 2.3成员特点成员变量:可以是变量也可以是常量 构造方法:有 成员方法:可以有具体方法也可以有抽象方法。 3.接口3.1概念接口就是一种公共的规范标准,只要符合规范标准,大家都可以通用。 3.2特点1.接口用关键字interface修饰 public interface 接口名{} 2.类实现接口 implements关键字 public class 类名 implements 接口名{} 3.接口不能实例化 4.接口的实现类,要么重写接口的抽象方法,要么也是一个抽象类 3.3接口的成员特点成员变量:默认被final,static修饰。默认修饰符public static final 构造方法:无构造方法,一个类如果没有父类,默认以object为父类 成员方法:只能是抽象方法。默认修饰符:public abstract 3.4类和接口的关系类和类 继承关系,只能单继承,但可以多层继承 类和接口 实现关系,一个类可以同时实现多个接口 接口和接口 可以单继承也可以多继承 3.5抽象类和接口的区别成员区别 关系区别 类与类 继承,单继承 类与接口 实现,可以单实现,也可以多实现 接口与接口 继承,单继承,多继承
设计理念区别 抽象类 对类抽象,包括属性、行为 接口 对行为抽象,主要是行为
|