内部类的相关问题

Posted xie-qi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了内部类的相关问题相关的知识,希望对你有一定的参考价值。

题目:

public class Out{

    public void somOutMethod(){

        //Line 3

    }

    public class Inner{}

    public static void main(String[] args){

        Out o = new Out();

        //Line 8

    }

}

Which instantiates an instance of Inner?

  1. new Inner();//At line 3
  2. new Inner();//At line 8
  3. new o.Inner();//At line 8
  4. new Out.Inner();//At line 8//new Out().new Inner()

正确答案:A

解析:

 1 public class Outer{
 2    public void test(){
 3         //在外部类中可直接创建内部类对象
 4         Inner inner=new Inner();
 5   }
 6    public class Inner{
 7 
 8   }
 9    public static void main(String[] args){
10       //在main方法或其他方法中,不能直接通过new Inner()创建内部类
11          Inner inner=new Inner();//是错误的
12       //要想在这些方法中创建内部类,步骤:
13          ①先创建外部类对象;
14          ②通过外部类对象.new内部类;
15         Outer outer=new Outer;
16         Inner inner=outer.new Inner();
17   }
18 }

以上是关于内部类的相关问题的主要内容,如果未能解决你的问题,请参考以下文章

片段内部静态类和gradle问题

Java 中内部类特性总结(吐血之作)

Java中的 内部类(吐血总结)

内部类学习

内部类,异常

Java内部类用法总结