本帖最后由 彭彪 于 2013-6-14 12:19 编辑
- package com.itheima;
- /*
- *7、 创建一个包含实例内部类的类,外部类中定义一个名为str的String字符串并初始化任意值,在内部类中定义
- *跟外部类同种类型且同名的变量,并在内部类中定义一个方法,分别打印外部类和内部类的变量。 */
- public class Test7 {
- public static void main(String[] args)
- {
- // 建立一个内部类对象,同时需一起建立外部类对象
- Out.Inner ou = new Out().new Inner();
- // 调用内部类的方法
- ou.print();
- }
-
- public class Out // 创建一个外部类
- {
- String str = "out";// 定义一个外部类变量
- class Inner // 创建一个内部类
- {
- String str = "inner"; // 创建一个内部类变量
- void print() // 定义一个内部类方法
- {
- System.out.println("外部类变量str="+Out.this.str); // 在this前加上外部类名,打印外部类变量
- System.out.println("内部类变量str="+this.str); // 用this关键字打印内部类的变量
- }
- }
-
- }
- }
复制代码 No enclosing instance of type Test7 is accessible. Must qualify the allocation with an enclosing instance of type Test7 (e.g. x.new A() where x is an instance of Test7).
at com.itheima.Test7.main(Test7.java:10)
|
|