作者qrtt1 (foolish)
看板java
标题Re: [问题] 关於继承
时间Sat Mar 25 11:22:55 2006
※ 引述《erik777 ( )》之铭言:
: 我的观念不是很清楚...
: public class Car
: {
: private double OILSIZE=30;//油箱总量
: public double output()
: {
: return OILSIZE;
: }
: }
: public class Coupe extends Car
: {
: private double OILSIZE=50;//油箱总量
: }
: public class Question
: {
: public static void main(String args[])
: {
: Coupe driver = new Coupe();//宣告Coupe物件
: System.out.println(driver.output());//我想让他印出50...
: }
: }
: Coupe继承Car类别时不是会连output一起继承吗?
: 但是为啥他结果印出来的不是OILSIZE = 50而是父类别中的30
: 如果我想要让他印出50该怎麽做呢?
: 一定要做override吗?
^^^^^^^^^^^^^^^^^^
请注意, override的定义参阅
http://mindprod.com/jgloss/override.html
看不见依然存在。
class GrandObject {
int field = 10;
public GrandObject() {
System.out.println(this.field);
}
}
class ParentObject extends GrandObject {
int field = 20;
public ParentObject() {
System.out.println(this.field);
}
}
class TheObject extends ParentObject {
int field = 30;
public TheObject() {
System.out.println(this.field);
}
}
public class InvokeChain {
public static void main(String[] args) {
TheObject o1 = new TheObject();
GrandObject o2 = new TheObject();
System.out.println("Creation Finish. \n");
System.out.println(o1.field);
System.out.println(o2.field);
ParentObject o3 = o1;
System.out.println(o3.field);
}
}
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 210.59.94.148