多态
java只允许单继承,不允许多继承
package 多态;
class A
{
public void f()
{
System.out.printf("AAAA\n");
}
}
class B extends A // B继承A
{
public void f()
{
System.out.printf("BBBB\n"); // 父类的重写
}
}
class C extends B // 类似上
{
public void f()
{
System.out.printf("CCCC\n");
}
}
public class 多态 {
public static void g(A aa) // 定义了一个函数 A类型 aa 子类可以赋值给夫态,下面使用g 只要是子类就可以通用
{
aa.f(); 调用相同函数
}
public static void main (String[] args)
{
A aa = new A();
B bb = new B();
C cc = new C();
g(aa);
g(bb); // 调用g函数,多态的作用
g(cc);
aa = cc;
//aa.f(); // 错误,虽然aa指向cc 但是aa不能调用cc中的 特殊方法 。 只可以调用继承过来的方法。
}
}
什么是多态呢
1,简单来说就是可以用父类来调用子类的方法
2,很多时候是只可以调用父类继承来的方法