------- Android培训、java培训 期待与您交流! ----------
继承:
* JAVA不支持多继承
* 构造方法不能被继承,子类对象生成时如果没有指定调用父类的哪个构造 函数则会先自动调用父类的无参构造函数,再调用自身的构造函数,目 的是子类继承了父类,就获取到了父类的内容(属性),所以使用父类 内容前要看父类是如何初始化父类自身内容的,所以必须访问父类中的 构造函数,如果父类构造函数没有定义无参构造函数,那么子类必须用 super();指定要访问父类的哪个构造函数,super语句必须放在子类构造函 数的第一行,因为父类初始化动作必须先完成
* 子类重写父类方法时,其方法的访问权限不能低于父类
主函数:格式固定,被JVM所识别和调用
public:权限必须最大
static: 虚拟机调用主函数不需要对象(类名.main())
void: 主函数不需要返回值
main: 函数名
String[] args:参数列表
final:
* 修饰变量时该变量成为常量,必须赋值且只能付一次值
* 修饰方法时该方法在子类中不能被重写
* 修饰类时该类不能被继承
抽象类:
* 抽象类中不一定都是抽象方法,含有抽象方法的类一定是抽象类
* 子类必须实现父类所有抽象方法,否则还是一个抽象类
* 抽象类不能实例化
* 抽象类有构造方法,用于给子类初始化
* abstract关键字不能和以下关键字共存:
* final:final修饰的类不能被继承,抽象类则需要子类继承
* private:抽象类中如果有私有方法,子类无法进行重写
* static:如果成员是静态的则不需要对象就能运行,而抽象方法没有方 法体
接口:接口是一种特殊的抽象类,如果一个抽象类中所有的方法都是抽象的,那 么这个抽象类就是接口,接口与接口间是继承关系,而且接口可以多继承
抽象类和接口的区别:
* 抽象类需要被继承而且只能单继承,接口需要被实现而且可以多实现
* 抽象类中可以定义抽象方法和非抽象方法,子类继承后可以直接使用非抽 象方法,接口中只能定义抽象方法,必须由子类实现
* 抽象类的继承是 is a 关系,定义该体系的基本共性内容
* 接口的实现是like a关系,定义该体系的额外功能
* 抽象类描述事物,接口描述事物可以具有的功能
多态:
* 父类的引用既可以指向父类对象,也可以指向子类对象,程序可以根据当 前指向自动调用不同对象的方法
* 通过父类引用只能访问子类从父类继承过来的成员,不能访问子类特有成 员
* 向下转型是为了使用子类特有方法
* 在转型中自始至终都是子类对象在做类型转换
* 多态中成员特点:
* 成员变量:编译和运行时参考引用型变量所属类中是否有调用的成员 变量,有编译通过,没有编译失败
* 非静态成员函数:
* 编译时参考的是引用型变量所属类中是否有调用的成员变量
* 运行时参考的是对象所属的类中是否有调用的函数
* 静态函数:编译和运行时参考引用型变量所属类中是否有调用的静态 方法,有编译通过,没有编译失败
异常:
* finally中的语句不管try中的语句有没有出错都会执行(即使try{}catch{} 语句中含有return语句)。目的是释放资源
* 子类抛出的异常不能大于父类抛出的异常