1.多重继承
Java 并不支持多重继承,多重继承是指一个类可以继承多个类,也就是一个类可以有多个直接父类。
抽象类和接口的比较
1.一个类可以实现众多接口,但是只能继承一个抽象类。
2.抽象类可以有非抽象的方法,即可以有已经是想的方法,继承它的子类可以对方法进行重新覆写;而接口中定义的方法必须全部为抽象方法。
3.在抽象类中定义的方法,它们的修饰符可以是public、protected、private,也可以是默认值;但是接口中定义的方法全是public的。
4.抽象类可以有构造函数,接口不能。两者都不能实例化,但是都能通过它们来翠芳子类对象或是实现类的对象。可以说它们都可以实现多态。
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();
}
网友评论