阅读下面的JAVA代码,正确的说法是()
class Foo{
int num;
Baz comp = new Baz();
}
class Bar {
boolean flag;
}
class Baz extends Foo {
Bar thing = new Bar();
double limit;
}A.Bar是Baz子类
B.Foo 包含 Bar
C.Baz是Foo子类
D.Foo是Baz子类
E.Baz包含Bar
它给的答案是C、E
对E选项不理解,麻烦高手帮忙讲解下……
class Foo{
int num;
Baz comp = new Baz();
}
class Bar {
boolean flag;
}
class Baz extends Foo {
Bar thing = new Bar();
double limit;
}A.Bar是Baz子类
B.Foo 包含 Bar
C.Baz是Foo子类
D.Foo是Baz子类
E.Baz包含Bar
它给的答案是C、E
对E选项不理解,麻烦高手帮忙讲解下……
在A中有B的實例,是聚合,可以理解為A has a B,說B包含于A,或者A包含B
“ Bar thing = new Bar(); "
楼主把分给我吧。。
JAVA的俩种形式。记得编程思想里面特意提了组合和继承的好处和用途。
Bar thing = new Bar(); // 在Baz中持有Bar的引用 即组合 也叫包含 Baz就可以通过Bar的引用来调用Bar中相
//关的方法
double limit;
}
wheel wheels(4) = new wheel(); // 组合
public void run() { }
}class benz extends car {
// 继承
}class wheel {
}
简单点说,组合就是某个东西由另外某几个东西组成,继承就是某个东西是另个东西的一种类型