Java多态

多态的特性:

1.多态是方法的多态,属性没有多态

2.父类和子类,有联系   类型转换异常!

3.存在条件:继承关系,方法需要重写,父类引用指向子类对象

不能进行多态的:

1.static 方法

2. final 常量

3.private 方法

//父类
public class Person {

    public void run(){
        System.out.println("mqs");
    }

}
//子类
public class Student extends Person {
    @Override
    public void run(){
        System.out.println("mqs2");
    }

    public void op(){
        System.out.println("MQS");
    }
}
public class Application {
    public static void main(String[] args) {
       //一个对象的实际类型是确定的
        //new Student();
        //new Person();

        //可以指向的引用类型是不确定的:父类的引用指向子类
        //Student能调用自己或者父类的方法
        Student s1 = new Student();
        //Person父类可以指向子类,但是不能调用子类独有的方法
        Person s2 = new Student();
        Object s3 = new Student();
        Person s4 = new Person();

        //对象执行那些方法主要看对象左边的类型,和右边关系不大
        s1.run();//子类重写了父类的方法,执行子类的方法
        s2.run();//子类重写了父类的方法,执行子类的方法
        s4.run();
        s1.op();
        //s2.op();在父类中没有子类中的该方法
        ((Student) s2).op();//将s2强转为Student类

    }

 

 

 

 

posted @ 2022-06-26 14:44  贝勒爷ma  阅读(14)  评论(0)    收藏  举报