多态对象特性
当创建一个父类的引用指向本类的对象时,如何使用这个对象调取本类的特性?例如:
父类:Traveltool;本类:Taxi;他们的特性:int site;如何调用对象obj3来调用Taxi里面的site值?
Traveltool obj3 = new Taxi();
System.out.println(obj3.site);
这个命令输出的是Traveltool中的site值。为什么obj3是Taxi的对象,却调用了父类的特性?
当创建一个父类的引用指向本类的对象时,如何使用这个对象调取本类的特性?例如:
父类:Traveltool;本类:Taxi;他们的特性:int site;如何调用对象obj3来调用Taxi里面的site值?
Traveltool obj3 = new Taxi();
System.out.println(obj3.site);
这个命令输出的是Traveltool中的site值。为什么obj3是Taxi的对象,却调用了父类的特性?
2016-07-23
package com.imooc;
//父类
public class Traveltool {
public String way = "Traveltoll can travel!" ;
public int site;
public void canDo(){
System.out.println("Traveltool can travel fast on road! " + "Bike can take " + site + " people!");
}
}
package com.imooc;
//子类
public class Taxi extends Traveltool {
String way = "Taxi travel by road";
int site = 5;
public void canDo(){
System.out.println("Taxi can travel fast on road! " + "Bike can take " + site + " people!");
}
}
package com.imooc;
//初始化类
public class Initial {
public static void main(String[] args) {
// TODO Auto-generated method stub
Traveltool obj = new Taxi();
System.out.println(obj.site);
}
}
结果为什么是0而不是5?
举报