为了账号安全,请及时绑定邮箱和手机立即绑定

不是说子类可以继承父类的属性么?为什么我这样写结果还是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();
	}
}


正在回答

3 回答

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

1 回复 有任何疑惑可以回复我~
#1

qq_慕姐9261892

那怎么解决
2019-03-19 回复 有任何疑惑可以回复我~
#2

慕的地1866362 回复 qq_慕姐9261892

应该在创建对象的下面给site赋值,准确说调用父类的属性
2019-03-24 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~

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

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

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信