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

来源:9-2 Java 中的方法重写

无能狂怒人

2019-02-20 16:37

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回答

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

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

    慕的地186... 回复qq_慕姐9...

    应该在创建对象的下面给site赋值,准确说调用父类的属性

    2019-03-24 00:47:18

    共 2 条回复 >

  • 编程小白白啊
    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

Java入门第二季 升级版

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

530559 学习 · 6091 问题

查看课程

相似问题