混乱-Java中的成员可用性

时间:2018-10-17 18:48:39

标签: java member objectinstantiation

这是一个 Java 问题:

实例化引用类型不同于-Wregister的{​​{1}}时,确定成员可用性的方案是什么?

例如:

Object

ObjectShape shp = new Square(2, 4); //Where Square extends Rectangle and implements Shape 方法是否与此代码关联? 所有方法是否都是静态的有关系吗? 上课隐瞒对选择有影响吗? 如果方法被覆盖,那会影响选择吗?

这是关于同一件事的更详细的问题:

Shape

上面的代码为什么会产生输出->正在编写...

下面的代码产生输出->编写代码

Square

实例化具有与对象类型不同的引用类型的对象(如本示例)时,确定成员可用性的方案是什么?

1 个答案:

答案 0 :(得分:0)

  

Shape或Square方法将与此代码关联吗?是的

Shape已知的方法只能使用shp参考变量来调用。

  

是否所有方法都是静态的?

如果所有方法都是静态的,则不能使用shp参考变量进行多态调用。

  

隐藏课程对选择有影响吗?

是的,shp参考变量的类型将完全确定要调用哪种方法。将在编译时自行决定。

  

如果方法被重写,会影响选择吗?

静态方法不是多态的,因此不会存在任何替代方案。