定义一个包含私有成员变量和函数的类,再定义一个内部类,在内部类函数中访问外部成员变量,并调用外部函数。在外部类函数中创建内部类对象,调用内部类函数。求解?
举一反三
- 在一个类中,定义在类中的叫成员变量,定义在函数中的叫局部变量,那么根据类定义的位置也可以分为成员内部类和局部内部类。包含在外部类的函数中的内部类称之为局部内部类。
- 关于内部类,下面那些描述是正确的() A: 内部类不能与外部类同名。 B: 外部类访问内部类时,必须在内部类名前冠以其所属外部类的名字才能使用;在用new创建内部类时,也需在new前冠以对象变量。 C: 内部类对象中保存了一个外部类对象的引用,当在内部类的成员方法中访问某一变量时,如果该方法和内部类中都没有定义过这个变量,调用就会被传递给内部类中保存的那个对外部对象的引用,通过它去调用这个变量。 D: 外部类和内部类访问原则:在外部类中,通过ygie内部类的对象应用内部类中的成员;在内部类中可以直接引用它的外部类的成员。
- 【简答题】创建一个包含内部类的类,外部类中定义一个名为str的String字符串并初始化任意值,在内部类中定义,跟外部类同种类型且同名的变量,并在内部类中定义一个方法,分别打印外部类和内部类的变量
- 编写下面的程序并写出运行结果,体会内部类的形式//定义外部类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();//通过外部类对象调用创建了局部内部类的方法}}
- 内部类的外部类的成员变量在内部类中仍然有效,内部类中的方法不可以调用外部类中的方法。( )