多态是什么?
对象在不同时刻表现出来的不同的状态.
父类子对象
前提:
1) 要有继承或者实现关系
2) 要有方法的重写
3) 要有父类(接口)引用指向子类(实现类)的对象.
变量和方法特点:
变量:编译和运行都看左边
方法:编译看左边,运行看右边
抽象类是什么?
抽象方法:只有方法声明,没有方法体的方法,用abstract关键字修饰.
包含抽象方法的类就可以被称为抽象类.
抽象类里面还可以包含非抽象方法.
1) 不能被实例化
2)
3) 子类继承抽象类, 要么本身抽象, 要么重写父类的所有抽象方法.
成员:
1) 变量 可以有变量, 可以有常量
2) 有构造, 目的是用来子类访问父类成员之前对父类的成员进行初始化
3) 方法: 抽象, 非抽象
接口是什么?
interface
基本:
不能被实例化
方法全部是抽象
成员:
1) 成员变量都是常量, public static final
2) 成员方法 只能是抽象的方法, public abstract
抽象类和接口的区别?
1) 成员特点:
2) 关系特点:
3) 设计理念:
抽象类定义的是体系的共性内容, 体现的是 is a 的关系
接口定义是系统的扩展功能,体现的是 like a 的关系
|
|