java 静态内部类调用示例
时间: 2023-09-19 12:06:02 浏览: 55
以下是一个示例,展示了如何在Java中调用静态内部类:
```java
public class OuterClass {
private static int x = 10;
public static class InnerClass {
public void printX() {
System.out.println("The value of x is: " + x);
}
}
public static void main(String[] args) {
OuterClass.InnerClass inner = new OuterClass.InnerClass();
inner.printX(); // 输出 "The value of x is: 10"
}
}
```
在上述示例中,我们定义了一个外部类 `OuterClass`,它包含一个静态内部类 `InnerClass`。静态内部类可以直接通过外部类名访问,无需创建外部类的实例。
在 `main` 方法中,我们创建了一个 `InnerClass` 的实例 `inner`,然后调用了 `printX()` 方法来打印静态内部类中的变量 `x` 的值。
输出结果将会是 "The value of x is: 10",因为静态内部类可以访问外部类的静态成员变量。
相关问题
静态内部类调用实例方法
静态内部类调用实例方法需要先创建静态内部类的对象,再通过对象来调用实例方法。
示例代码如下:
```java
public class OuterClass {
private static String outerName = "OuterName";
public static class InnerClass {
private String innerName = "InnerName";
public void innerMethod() {
System.out.println("OuterName: " + outerName);
System.out.println("InnerName: " + innerName);
}
}
public static void main(String[] args) {
InnerClass inner = new InnerClass();
inner.innerMethod();
}
}
```
在上面的示例中,先创建了 `InnerClass` 的对象 `inner`,然后通过 `inner.innerMethod()` 的方式来调用实例方法 `innerMethod()`。
运行上述代码,输出如下:
```
OuterName: OuterName
InnerName: InnerName
```
可以看到,在静态内部类的实例方法中,可以访问外部类的静态成员和静态内部类的成员,但不能访问外部类的非静态成员。
创建一个java静态内部类
好的,以下是一个Java静态内部类的示例代码:
```java
public class OuterClass {
private static int outerStaticVar = 10;
private int outerVar = 20;
public static class InnerClass {
public void innerMethod() {
System.out.println("Accessing outer static variable: " + outerStaticVar);
// 无法访问外部类的非静态变量
// System.out.println("Accessing outer variable: " + outerVar);
}
}
public static void main(String[] args) {
OuterClass.InnerClass inner = new OuterClass.InnerClass();
inner.innerMethod();
}
}
```
在上面的代码中,`InnerClass`是一个静态内部类,它可以访问外部类的静态成员变量`outerStaticVar`,但不能访问外部类的非静态变量`outerVar`。在`main`方法中,我们创建了一个`InnerClass`的实例,并调用了它的`innerMethod`方法。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)