问答详情
源自:9-2 Java 中的方法重写

不是说子类可以继承父类的属性么?为什么我这样写结果还是0?

public class Transport {
	public int site;
	public void print() {
		System.out.println("这辆车可以乘坐"+site+"人");	
	}
}
public class Bus extends Transport {	
    public int site = 20;	
}
public class Initail {	
    public static void main(String[] args) {		
	Bus bus = new Bus();	
	bus.print();
	}
}


提问者:无能狂怒人 2019-02-20 16:37

个回答

  • Dawstin
    2019-02-20 19:29:04
    已采纳

    构建子类会先构建父类,你的print()是父类的方法,会在你的子类赋值开始前执行

  • 编程小白白啊
    2019-07-17 19:03:50

    只是继承属性和方法,如果父类里没有赋值,你可以在Initial里进行参数赋值啊https://img3.mukewang.com/5d2f008b0001589b07300536.jpg

  • 慕姐4139208
    2019-07-05 20:18:08

    你的子类中声明的site与父类中site不是同一个变量,而在println()方法中打印的site是父类中的那个

    如果要在println中打印子类中的site,要用new Bus().site