服务时间:8:30-18:00

首页 >java学习网

java内部类怎么调用

发布时间:2023-12-25 11:18 字数:1176字 阅读:137

java内部类怎么调用?在Java中,内部类是定义在另一个类内部的类。内部类可以访问外部类的私有属性和方法,而外部类不能直接访问内部类的成员。因此,如果要在外部类中调用内部类的方法,需要通过内部类的对象来实现。

java内部类怎么调用

假设我们有一个外部类OuterClass和一个内部类InnerClass,代码如下:
```java
public class OuterClass {
    private int x = 10;

    public class InnerClass {
        public void printX() {
            System.out.println("x = " + x);
        }
    }
}
```

在上面的代码中,我们定义了一个OuterClass外部类和一个InnerClass内部类。InnerClass可以访问OuterClass的私有属性x。

要在外部类中调用内部类的方法,可以先创建一个InnerClass对象,然后通过该对象调用内部类的方法。示例代码如下:
```java
public class Main {
    public static void main(String[] args) {
        OuterClass outer = new OuterClass();
        OuterClass.InnerClass inner = outer.new InnerClass();
        inner.printX(); // 输出:x = 10
    }
}
```

在上面的代码中,我们首先创建了一个OuterClass对象outer,然后通过outer对象创建了一个InnerClass对象inner。最后,通过inner对象调用了内部类的printX()方法,输出了x的值。

需要注意的是,如果内部类是静态的,则可以直接通过类名来调用内部类的方法,无需创建内部类的对象。例如:
```java
public class OuterClass {
    private static int x = 10;

    public static class InnerClass {
        public static void printX() {
            System.out.println("x = " + x);
        }
    }
}

public class Main {
    public static void main(String[] args) {
        OuterClass.InnerClass.printX(); // 输出:x = 10
    }
}
```

在上面的代码中,我们将InnerClass声明为静态内部类,并且将printX()方法也声明为静态方法。这样就可以直接通过OuterClass.InnerClass.printX()来调用内部类的方法,无需创建内部类的对象。