黑马程序员_继承2

来源:互联网 发布:三国演义知乎 编辑:程序博客网 时间:2024/05/08 18:59
final可以修饰类,方法,变量。
    final修饰的类不可以被继承。

    final修饰的方法不可以被覆盖。

    final修饰的变量是一个常量,只能被赋值一次。



 抽象定义:
    抽象就是从多个事物中将共性的、本质的内容抽取出来。

抽象类的特点

    抽象类和抽象方法必须用abstract关键字来修饰。

    抽象方法只有方法声明,没有方法体,定义在抽象类中。
    格式:修饰符 abstract 返回值类型 函数名(参数列表) ;

    抽象类不可以被实例化,也就是不可以用new创建对象。



 当一个抽象类中的方法都是抽象的时候,这时可以将该抽象类用另一种形式定义和表示,就是接口。

格式:interface {}

    接口中的成员修饰符是固定的:
    成员常量:public static final
    成员函数:public abstract


 在java中不直接支持多继承,因为会出现调用的不确定性。
    所以,java将多继承机制进行改良,在java中变成了多实现,一个类可以实现多个接口。

一个类在继承另一个类的同时,还可以实现多个接口。


多态:

某一类事物的多种存在形态。

编译时:参考引用型变量所属的类中是否有调用的成员变量。有,编译通过,没有,编译失败。
运行时:参考引用型变量所属的类中是否有调用的成员变量,并运行该所属类中的成员变量。

 简单说:编译和运行都参考等号的左边。

(非静态)
  编译时:参考引用型变量所属的类中是否有调用的函数。有,编译通过。没有,编译失败。
  运行时:参考的是对象所属的类中是否有调用的函数。
  简单说:编译看左边,运行看右边。



0 0
原创粉丝点击