JAVA父类引用指向子类的对象是什么意思???299
发布网友
发布时间:2024-03-03 09:56
我来回答
共5个回答
热心网友
时间:2024-03-26 18:25
你好,给你举个简单的例子吧。类A,另外一个类B继承了类A。有如下代码:
A a = new B() ; 这就称父类的引用a 指向了子类的对象new B(),就是这个意思。
热心网友
时间:2024-03-26 18:22
父类 Person 子类 Student
可以这样定义 Person p = new Student();
就是你问的 “JAVA父类引用指向子类的对象”
但是你得注意:父类的引用指向子类的话,此时的 p 只能使用Person类中存在的方法,但是子类
Student类中扩充的方法就不能调用了
class Person {
private int age ;
private String name;
public void setName(String name){
this.name = name;
}
public String getName(){
return this.name;
}
public void setAge(int age){
this.age = age;
}
publc int getAge(){
return age ;
}
}
class Student extends Person {
private Strng school ;
public void setSchool(String school){
this.school = school;
}
public String getSchool(){
return this.school;
}
}
public class Demo{
public static void main(String [] args){
Person p = new Student();
//p.setSchool("清华大学")
//String school = p.getSchool(); //以上的两个语句都是错误的,你自己看看吧
}
}
热心网友
时间:2024-03-26 18:19
这就是Java面向对象的特征→多态.
热心网友
时间:2024-03-26 18:24
楼上正解
热心网友
时间:2024-03-26 18:17
A a = new B() ;
上面这位朋友的例子来说,
A是我们的引用类型,他是父类,B是子类。
a是一个子类对象,但是引用的是父类的类型。
这样做的好处就是,
你在下面的代码中,如果一旦发现该B对象无法适应你的环境,可以转换成父类中的其它对象。