1 final关键字
1.1 final关键字的概述
- final关键字是最终的意思,可以修饰类、成员变量和成员方法。
1.2 final关键字的特点
- 修饰类,类不能被继承。
- 修饰变量,变量就变成了常量,只能被赋值一次。
- 修饰方法,方法不能被重写。
1.3 final关键字的注意事项
- final修饰局部变量:
- ①在方法内部,该变量不可以被改变。
- ②在方法声明上,final如果修饰的是基本类型的数据,其值不能被改变,如果修饰的是引用类型的数据,其地址值不能被改变。
- final修饰变量的初始化时机,只要在对象构造完毕前就可以了。
2 多态
2.1 多态的概述
2.2 多态的前提和体现
2.3 根据多态的前提写出多态
package com.xuweiwei;
public class Animal {
public void eat(){
System.out.println("动物吃饭");
}
}
package com.xuweiwei;
public class Cat extends Animal{
@Override
public void eat() {
System.out.println("猫吃饭");
}
}
package com.xuweiwei;
public class Test {
public static void main(String[] args) {
Animal animal = new Cat();
animal.eat();
}
}
2.4 多态中的成员访问特点
- 成员变量:编译看左边,运行看左边。
- 构造方法:
- 成员方法:编译看左边,运行看右边。
- 静态方法:编译看左边,运行看左边。
2.5 多态的好处
- 提高了程序的维护性(由继承保证)。
- 提高了程序的扩展性(由多态保证)。
2.6 多态的弊端
- 不能访问子类特有的功能。如果要访问子类特有的功能,必须进行向下转型。
2.7 多态的向上转型和向下转型
- 多态的向下转型:把父类的对子类对象的引用强制转换为子类对子类对象的引用。