Java写一个成员内部类的例子
时间: 2024-09-06 20:03:48 浏览: 16
在Java中,成员内部类通常作为外部类的一个成员来定义,下面是一个简单的成员内部类的例子[^1]:
```java
public class OuterClass {
// 外部类的成员
private String message;
// 成员内部类
public class InnerClass {
// 内部类的方法
public void showMessage() {
System.out.println("Message from inner class: " + message);
}
}
// 外部类的构造器和方法
public OuterClass(String msg) {
message = msg;
}
public static void main(String[] args) {
// 创建外部类的对象并调用内部类的方法
OuterClass outer = new OuterClass("Hello, World!");
outer.newInnerClass().showMessage(); // 访问内部类的实例
}
}
```
在这个例子中,`InnerClass`是`OuterClass`的一个成员,可以通过外部类的对象来创建它的实例。`message`字段在外部类和内部类之间共享。
相关问题
Java基于idea 写一个成员内部类的例子
在Java中,我们可以使用IntelliJ IDEA编写一个简单的成员内部类的例子。成员内部类是在外部类的类体中定义的,它可以访问外部类的私有属性和方法。下面是一个示例:
**外部类(OuterClass):**
```java
public class OuterClass {
// 外部类的实例变量
private String outerVar = "This is an outer variable";
// 成员内部类
private class InnerClass {
// 内部类的实例变量
private String innerVar;
// 构造器
public InnerClass(String innerValue) {
this.innerVar = innerValue;
}
// 方法示例
public void displayValues() {
System.out.println("Outer var: " + outerVar);
System.out.println("Inner var: " + innerVar);
}
}
// 创建并显示成员内部类的实例
public void createInnerClassInstance(String innerValue) {
InnerClass inner = new InnerClass(innerValue);
inner.displayValues();
}
}
// 在main方法中使用
public static void main(String[] args) {
OuterClass outer = new OuterClass();
outer.createInnerClassInstance("This is an inner variable");
}
```
在这个例子中,`InnerClass`是`OuterClass`的一个私有成员,通过`createInnerClassInstance`方法可以创建`InnerClass`的实例并调用其方法。
java 成员内部类
Java中的成员内部类是定义在另一个类中的类。它可以访问外部类的所有成员变量和方法,包括私有的。成员内部类可以被声明为private、protected、public或默认访问权限。以下是一个Java成员内部类的例子:
```java
public class OuterClass {
private int x = 10;
public class InnerClass {
public int myInnerMethod() {
return x;
}
}
}
// 创建内部类对象的语法
OuterClass.InnerClass myInner = new OuterClass().new InnerClass();
int result = myInner.myInnerMethod(); // result为10
```
在上面的例子中,我们定义了一个名为`OuterClass`的外部类和一个名为`InnerClass`的内部类。内部类可以访问外部类的私有变量`x`。我们创建了一个内部类对象`myInner`,并调用了它的方法`myInnerMethod()`,该方法返回了外部类的私有变量`x`的值。