1.多态与动态绑定
1.多态是指同一个方法根据上下文使用不同的定义的能力
2.动态绑定是一种机制,通过这种机制,对一个已经被重写的方法的调用将会发生在运行 时,而不是在编译时解析
1.在 Java 中,对象是多态的,定义一个 Animal 对象,它 可以存放 Animal 对象,也可以 存放 Animal 的子类 Tiger、Fish 的对象。
存放在 Animal 数组中的 Tiger 对象和 Fish 对象在执行 breath 方法时会自动地调用原来对 象的方法而不是 Animal 的 breath 方法,这就是动态 定。
2.当 需要 问这些方法时需要用到类型 换
2.final关键字
1.编写程序时可能需要 类定义为不能继承的,即最 类,或者是有的方法不 被子类 继承,这时候就需要使用 final 关键字来声明
1.//类声明为final
final class 类名 extends 父类 {
// 类体
}
2.//方法声明为final
修饰符 final 返回值类型 方法 (){
//方法 体
}
3.抽象类
1.抽象类是指在类中定义方法,但是并不去实现它,而在它的子类中去具体的实现。定义的抽象方法不过是一个方法占位符。继承抽象类的子类必须实现 类的抽象方法, 除非子类也被定义成一个抽象类。
2.在抽象类中的方法不一定是抽象方法,但是含有抽象方法的类一定是抽象类
3.抽象类和普通类不同,抽象类不可以实例化,但是可以创建抽象类的对象变量,只是这个变量只能用来指向它的非抽象子类对象(动态绑定)
修饰符 abstract 返回值类型 方法 ();
4.Object对象
object类可以存放任何对象
public class Test {
public static void main(String[ ] args) {
}
// 建一个存 Object 的
Object [ ]object=new Object[3];
//多态
Animal animal1 = new Fish();
Animal animal2 = new Tiger();
object[0]=animal1;
object[1]=animal2;
//动态绑定
object[2]=new String("String");
//强制转换
((Fish) object[0]).swim();
}