基于


以下哪个表达式有效?

Boat boat1 = new Boat();
Boat boat2 = new Boat(Color.black, 300.2);
Boat boat3 = new Kayak(Color.yellow, 30.2, 1, 1);
Kayak kayak1 = new Kayak(Color.yellow, 30.2, 1, 1);
Kayak kayak2 = new Kayak();


我遇到麻烦是因为我认为,由于在Boat类中,Color是私有的,因此Kayak的实例没有与之关联的color。这是真的?

另外,在Boat类是抽象的事实起作用的地方,它对Kayak有何影响?

最后,Boat类的实例是否具有与之关联的numSeats

最佳答案

仅有的两个构造函数将起作用:

Boat boat3 = new Kayak(Color.yellow, 30.2, 1, 1);
Kayak kayak1 = new Kayak(Color.yellow, 30.2, 1, 1);


如果在构造函数中对Boat构造函数进行了超级调用,则皮艇将具有与之关联的颜色。


  另外,Boat类是抽象的事实
  玩,对皮划艇有什么影响?


没有任何。这仅意味着您无法创建Boat的实例。


  最后,Boat类的实例是否具有关联的numSeats
  用它?


不。船对numSeats一无所知。这是一个抽象的概念。它可以是冲浪板,也可以是远洋客轮。

关于java - 基于UML图的结果?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20698138/

10-10 11:53