编写下面的程序并写出运行结果,体会内部类的形式//定义外部类OuterclassOuter19{intm=0;voidtest1(){System.out.println("外部类成员方法");}voidtest2(){//1、定义局部内部类Inner,在局部内部类中访问外部类变量和方法classInner{intn=1;voidshow(){System.out.println("外部类变量m="+m);test1();}}//2、在创建局部内部类的方法中,调用局部内部类变量和方法Innerinner=newInner();System.out.println("局部内部类变量n="+inner.n);inner.show();}}//定义测试类publicclassEx19OutInner{publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstubOuter19outer=newOuter19();outer.test2();//通过外部类对象调用创建了局部内部类的方法}}
举一反三
- 下列对局部内部类的描述错误的选项是()。 A: 局部内部类定义在方法内部 B: 局部内部类的变量只在局部中起作用 C: 对定义的内部类进行访问必须在该内部类所在的方法中通过创建内部类对象进行访问 D: 局部内部类可以在其他方法中进行调用
- 下列关于局部内部类的相关描述,正确的是(): 局部内部类中的成员只能在该局部内部类中被访问|局部内部类可以访问外部类的所有成员变量和方法|局部内部类,也叫做方法内部类,就是定义在某个局部范围中的类|局部内部类,也叫做方法内部类,就是定局部内部类和局部变量一样,其有效范围只限于方法内部。
- 定义一个包含私有成员变量和函数的类,再定义一个内部类,在内部类函数中访问外部成员变量,并调用外部函数。在外部类函数中创建内部类对象,调用内部类函数。求解?
- 局部内部类中的变量和方法只能在创建该局部内部类的方法中访问
- 内部类为局部内部类时,访问的外部变量必须定义为 final 或 static 类型