为什么我的课程没有进入下一堂课?

时间:2016-09-25 05:05:59

标签: java

该程序仅显示" A"等级是10。 但为什么该计划没有进入班级" B"答案应该是12?

interface ConstInterface {
    int MAX=10;
}

public class A implements ConstInterface {

    public static void main(String[] args) {
        System.out.println(MAX);
    }
}

class B  {
    int MAX=12;
    void maxNew(){
        System.out.println(MAX);
        B obj = new B();
        obj.maxNew();
    }
}

3 个答案:

答案 0 :(得分:1)

main()返回时,您的程序结束。您在main()中没有调用类B中任何内容的代码。这就是该计划“不进步”的原因。

你可以通过移动两行

来改变这一点
B obj = new B();
obj.maxNew();

maxNew()中的B方法并将其放入main()

public static void main(String[] args) {
    System.out.println(MAX);
    B obj = new B();
    obj.maxNew();
}

答案 1 :(得分:0)

在Java for standalone application中,执行的起点是一个类中的public main方法,在你的例子中是A类。

要执行B类的maxNew,你应该在main方法中创建B的对象并调用maxNew方法。

尝试以下修改后的代码:

    interface ConstInterface {
    int MAX=10;
}

public class A implements ConstInterface {

public static void main(String[] args) {
    System.out.println(MAX);
    B b = new B();
    b.newMax();
    }
}

class B  {
int MAX=12;
void maxNew(){
System.out.println(MAX);
  }
}

答案 2 :(得分:0)

这里有一课:计算机完全按照你的要求去做。对于由 main 方法的内容确定的Java程序。并且您的主要内容不包含任何可以使用 B 类的内容。