当前位置: 首页 > 面试题库 >

如何从静态main()方法调用内部类的方法

苏硕
2023-03-14
问题内容

尝试在Parent类中创建1个接口和2个具体类。这将使封闭类成为内部类。

public class Test2 {

       interface A{
             public void call();
       }

       class B implements A{
             public void call(){
                   System.out.println("inside class B");
             }
       }

       class C extends B implements A{
             public void call(){
                   super.call();
             }
       }


       public static void main(String[] args) {
              A a = new C();
              a.call();

       }
}

现在,我真的不确定如何在静态main()方法中创建C类的对象并调用C类的call()方法。现在我遇到了问题: A a = new C();


问题答案:

这里的内部类不是静态的,因此您需要创建一个外部类的实例,然后调用new,

A a = new Test2().new C();

但是在这种情况下,您可以将内部类设为静态,

static class C extends B implements A

那就可以使用了

A a = new C()


 类似资料:
  • 问题内容: 我有一个包含静态创建方法的类。 当我使用时,它可以被编译。但是当我使用时,它编译失败,如何指定泛型? 问题答案: 假设您询问有关在类型推断失败的情况下显式指定类型的信息,则可以使用(请注意,该类型在after之后而不是before之前)。

  • 问题内容: 例如,我正在尝试做这样的事情 我收到一条错误消息,告诉我无法从静态环境中引用非静态变量。因此,如果这是真的,我将如何在main内部使用非静态方法? 问题答案: 你不能 非静态方法是必须在Test类的实例上调用的方法。创建Test的实例以在您的main方法中使用:

  • 我在这个上面有点卡住了。我正在编写一个包含两个类的java程序,然后是一个测试程序来测试类中的方法。我被困在主方法中调用下面的两个方法上。所有的类文件(测试程序类和另外两个类)都在编译,IDE没有给我任何错误消息,计算只是没有发生…… --主要方法代码: -账户类别代码: 注意:平衡设置器正在工作,因为它在测试程序的前面被调用... 非常感谢任何帮助!!! 账户类别的完整代码: 主要方法完整代码:

  • 在下面的程序中,我将一个字符串值作为参数传递给方法print(string),该方法是静态的,返回string。虽然我没有得到错误,但我没有得到输出。

  • 问题内容: 正在学习Java,现在遇到以下问题:我将main方法声明为 在我的主要方法中,因为它是静态的,所以只能调用其他静态方法!!!为什么呢 例如:我有另一堂课 所以在我的主班我声明一个 但是,如果它们不是静态的,我将无法调用任何方法。 这哪里出错了? 编辑:对不起,我的问题是:如何“设计”该应用程序,以允许我从“起点”调用其他类。 问题答案: 你只需要创建一个ReportHandler实例:

  • 我有以下代码: 到目前为止,代码还可以,但我无法在主方法中实例化'in',比如,因为它显示