Discuss / Java / 集成和组合????

集成和组合????

Topic source
class Student extends Person {
    protected Book book;
    protected int score;
}

想问下,这个Book是如何通过 protected 访问到的呢?
protected 给继承 父类的 子类访问,父类私有方法与字段的时候用的吗?
上面的例子没有继承Book啊,怎么就能访问了呢?

fredld22

#2 Created at ... [Delete] [Delete and Lock User]

本以为这是个简单问题,没想到整理了一下思路发现挺不好说的,试着答一下。

这个其实是一个面向对象的思路问题,类其实就是一个模板,真正用的时候是要生成实例的。这里的Person是一个对象,Book是另一个对象,这里表示Person有Book这个对象

Student p=new Student();

p.Name="BOb";

p.book=new Book(){name="Java教程"};

这里表示p这个Student实例名字叫Bob,他有一本书,书的name是"Java教程"。name是从Person那里继承过来的,而book是新加入进去的字段。这里book的protected表示book这个字段只能被Student的子类访问而不是他跟book有继承关系。


  • 1

Reply