Java编译时类型和运行时类型的区别


Java有两种引用类型,分别是编译时类型和运行时类型。编译型类型在变量声明时决定,运行时类型取决于变量具体指向的类型,如果两种类型不一致,就会出现多态。

规则:对象调用编译时类型的属性和运行时类型的方法。

 

举例:

class Person {
    public String name;

    public Person() {
        name = "Person";
    }

    public String getName() {
        return name;
    }
}

class Student extends Person {
    public String name;

    public Student() {
        name = "Student";
    }

    public String getName() {
        return name;
    }
}

public class Hello {
    public static void main(String[] args) {
        Person person = new Student();
        System.out.println(person.name); // Person
        System.out.println(person.getName()); // Student
    }
}

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM