Java多态
概念:同一方法可以根据发送对象的不同而采用多种不同的行为方式。
1、一个对象的实际类型是确定的,但可以指向对象的引用的类型有很多
多态存在的条件:
1、有继承关系
2、子类重写父类方法
3、父类引用指向子类对象
注意:多态是方法的多态,属性没有多态性
static方法,属于类,它不属于实例
final常量
private方法
主方法
public class Demo15 {
public static void main(String[] args) {
//一个对象的实际类型是确定的
//但其可以指向的引用类型是不确定的
Demo17 s1=new Demo17();//能调用的都是子类或继承父类的方法
Demo16 s2=new Demo17();//父类的引用指向子类(能调用用的都是自己的)
Object s3=new Demo17();
//对象能执行哪些方法要看=左边,方法怎么用看右边;
s2.run();
s1.test();
//s2.test();//报错因为Demo16 s2=new Demo17()中DEMO16中没有test方法
}
}
子类
public class Demo17 extends Demo16{
@Override
public void run(){
System.out.println("这是子类重写方法一");
}
/*@Override
public void test(){
System.out.println("这是子类特有方法二");
}*/
}
父类
public class Demo16 {
public void run(){
System.out.println("这是父类方法一");
}
}
本文来自博客园,作者:Cn_FallTime,转载请注明原文链接:https://www.cnblogs.com/CnFallTime/p/15830454.html