Java中的多态:方法的覆盖于重载
public class TestCZ{
public void test(){
System.out.println("这是一个方法");
}
public void test(int a){ //重载test方法
System.out.println("重载这个方法"+a);
}
}
class TestCZ2 extends TestCZ{
public void test(){ //覆盖父类中的test方法
System.out.println("覆盖这个方法");
}
}
class Run_TestCZ{
public static void main(String[] args){
TestCZ CZ = new TestCZ();
CZ.test();
CZ.test(5);
TestCZ2 CZ2 = new TestCZ2();
CZ2.test();
CZ2.test(5);
}
}
**几种不能使用方法覆盖的情况。
1、static方法。【子类不能覆盖父类中声明为static的方法】
2、final方法。【1子类不能覆盖父类中声明为final的方法,但可以继承;2,不能覆盖final类中的所有方法】
声明一个final类,这意味着这个类就不能有子类,不能被继承。有时为了安全性,可以将一些重要的类声明为final类。
**java只允许单继承,即一个子类只能有一个父类。反过来是允许一个父类有多个子类的。