1.java的super关键字
前提: 子类与父类有相同的属性如age,相同的方法如print();
在子类方法中写一个方法,在测试类中创建子类对象,调用子类里的这个方法
1)在子类的这个方法中用super.age ,在测试类中执行打印的是父类的age属性
2)用age, 则在测试类中执行打印的是子类的age属性
3)在子类的这个方法中用super.print();在测试类中执行调用的是父类的print()方法
4)直接调用print(),则在测试类中执行调用的是父类的print()方法
应用:
1)在子类构造方法中有一个super();1.自己可以写,但必须在子类构造方法的第一行。
2.也可以不写,系统自动创建
2)父类有有参数的构造方法,且没有无参数的构造方法。且子类构造方法中有没有super();
则编译出错
2.多态
1) 引用多态
父类的引用可以指向本(父类自己的)类的对象
父类的引用可以指向子类的对象
2)方法多态
创建本类对象时,调用本类方法
创建子类对象时,调用子类重写的方法 或 继承的方法
3.抽象类 用abstract修饰
1)父类知道子类应该包含怎样的方法,但无法准确知道这些子类如何实现
2)从多个具有相同特征的类中抽出一个抽象类,
使用规则:
1)abstract来定义抽象类
2)abstrct定义抽象方法,只有声明,不许实现
3)包含抽象方法的类是抽象类
4) 抽象类可以有普通方法,也可以没有抽象方法 (即抽象方法是抽象类的必要条件)4.
4.接口 用关键字 (public class 类名 impements 接口名)
定义: 手机与游戏机之间的 玩游戏功能 ->接口
使用接口:
1)如同抽象类一样引用 "接口名 对象名 = new 子类名();"
2)匿名内部类 没有名字的内部类
注重实现,不关注名称
5.UML 统一建模语言、标准建模语言