【问题标题】:difference between code polymorphism examples代码多态示例之间的区别
【发布时间】:2015-09-13 20:54:07
【问题描述】:
package practice;

public abstract class OutterClass {

    public int getMaxRows() {
    }

    public abstract boolean gameOver();
}

public class InnerClass extends OutterClass{

    @Override
    public boolean gameOver() {

        //int lastRow = getMaxRows() - 1;
        //int lastRow = this.getMaxRows() - 1;
        //int lastRow = ((OutterClass)this).getMaxRows() - 1;
        //int lastRow = ((InnerClass)this).getMaxRows() - 1;
        //int lastRow = InnerClass.this.getMaxRows() - 1;

    }

sublass(InnerClass)中所有被注释掉的代码有什么区别?

【问题讨论】:

    标签: java polymorphism abstract-class abstract abstraction


    【解决方案1】:
    // int lastRow = getMaxRows() - 1;
    // int lastRow = this.getMaxRows() - 1;
    // int lastRow = ((OutterClass)this).getMaxRows() - 1;
    // int lastRow = ((InnerClass)this).getMaxRows() - 1;
    

    这些在效果上都是相同的。最后一点尤其没有意义。

    // int lastRow = InnerClass.this.getMaxRows() - 1;
    

    这不会编译。

    NB 与您的命名相反,这里没有内部类。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-28
      • 1970-01-01
      • 2016-10-07
      • 2018-06-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多