在一个类中定义变量name,用其无参变量将其赋值,在其类中定义内部类innter在两个类中分别构造方法public void printInfo分别输出两个name的值
时间: 2024-02-21 07:57:17 浏览: 72
java-master-class-innter-abstract-classes-interfaces:适用于软件开发人员的Java编程大师课程(CHAPITRE 9
好的,我理解了您的问题。下面是实现的代码示例:
```
public class MyClass {
private String name;
public MyClass() {
this.name = "defaultName";
}
public class Inner {
public void printInfo() {
System.out.println("Outer name: " + MyClass.this.name);
System.out.println("Inner name: " + name);
}
}
}
```
在这个示例中,我们定义了一个类 `MyClass`,它包含一个私有变量 `name`,并且定义了一个内部类 `Inner`,它可以访问外部类的私有变量 `name`。在 `MyClass` 中的构造函数中,我们将 `name` 初始化为一个默认值。在 `Inner` 中的 `printInfo` 方法中,我们分别输出了外部类和内部类的 `name` 值。
接下来,我们可以使用以下代码来测试这个类:
```
MyClass myObj = new MyClass();
MyClass.Inner innerObj = myObj.new Inner();
innerObj.printInfo();
```
输出结果应该是:
```
Outer name: defaultName
Inner name: defaultName
```
请注意,当内部类访问外部类的变量时,需要使用 `OuterClass.this.variableName` 的语法来引用外部类的变量。
阅读全文