黑马程序员技术交流社区
标题: Java三大特征之一---多态 [打印本页]
作者: wanglinpeng 时间: 2019-9-25 21:55
标题: Java三大特征之一---多态
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抽象类和接口的区别成员区别
关系区别
类与类
继承,单继承
类与接口
实现,可以单实现,也可以多实现
接口与接口
继承,单继承,多继承
设计理念区别
抽象类
对类抽象,包括属性、行为
接口
对行为抽象,主要是行为
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |