Java基础九

1 final关键字

1.1 final关键字的概述

  • final关键字是最终的意思,可以修饰类、成员变量和成员方法。

1.2 final关键字的特点

  • 修饰类,类不能被继承。
  • 修饰变量,变量就变成了常量,只能被赋值一次。
  • 修饰方法,方法不能被重写。

1.3 final关键字的注意事项

  • final修饰局部变量:
  • ①在方法内部,该变量不可以被改变。
  • ②在方法声明上,final如果修饰的是基本类型的数据,其值不能被改变,如果修饰的是引用类型的数据,其地址值不能被改变。  
  • final修饰变量的初始化时机,只要在对象构造完毕前就可以了。

2 多态

2.1 多态的概述

  • 某一个事物,在不同时刻表现出不同的状态。
  • 示例:
  • ①猫可以是猫的类型
猫 m = new 猫();
  • ②猫也是动物的一种
动物 d = new 猫();

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 多态的向上转型和向下转型

  • 多态的向上转型:父类引用指向子类的对象。
父类 fu = new 子类();
  • 多态的向下转型:把父类的对子类对象的引用强制转换为子类对子类对象的引用。
子类 zi = (子类)fu;

猜你喜欢

转载自www.cnblogs.com/xuweiweiwoaini/p/9227171.html