Java教程【01.05】Java内部类

Java内部类

Java内部类是一种嵌套在其他类中的类。它具有访问外部类的成员的能力,并提供了一种组织和封装代码的方式。在本教程中,我们将探讨Java内部类的使用和相关概念。

步骤1:创建外部类

首先,我们需要创建一个外部类,内部类将嵌套在其中。以下是一个示例外部类的代码:

public class OuterClass {
    private int outerData;

    public OuterClass(int data) {
        this.outerData = data;
    }

    public void outerMethod() {
        System.out.println("Outer Method");
    }
}

在上面的示例中,我们创建了一个名为OuterClass的外部类,它具有一个私有属性outerData和一个公共方法outerMethod()

步骤2:创建内部类

接下来,我们将在外部类中创建一个内部类。内部类可以访问外部类的成员(包括私有成员),并提供了更高的封装性和代码组织性。

public class OuterClass {
    // ...

    public class InnerClass {
        private int innerData;

        public InnerClass(int data) {
            this.innerData = data;
        }

        public void innerMethod() {
            System.out.println("Inner Method");
        }
    }
}

在上面的示例中,我们创建了一个名为InnerClass的内部类,它具有一个私有属性innerData和一个公共方法innerMethod()

步骤3:创建内部类的实例

要创建内部类的实例,我们需要先创建外部类的实例,然后使用外部类实例创建内部类实例。

OuterClass outer = new OuterClass(10);
OuterClass.InnerClass inner = outer.new InnerClass(20);

在上面的示例中,我们首先创建一个名为outerOuterClass对象,然后使用该对象创建一个名为innerInnerClass对象。

步骤4:访问内部类的成员

我们可以使用内部类的实例访问内部类的成员,包括属性和方法。

int innerData = inner.innerData;
inner.innerMethod();

在上面的示例中,我们通过inner对象访问了内部类的innerData属性,并调用了innerMethod()方法。

步骤5:访问外部类的成员

内部类可以直接访问外部类的成员,包括私有成员。

public class OuterClass {
    private int outerData;

    // ...

    public class InnerClass {
        // ...

        public void accessOuterData() {
            System.out.println("Outer Data: " + outerData);
        }
    }
}

在上面的示例中,我们在内部类中定义了一个方法accessOuterData(),它可以访问外部类的outerData属性。

OuterClass

 outer = new OuterClass(10);
OuterClass.InnerClass inner = outer.new InnerClass(20);
inner.accessOuterData();

在上面的示例中,我们通过inner对象调用了accessOuterData()方法,并成功访问了外部类的outerData属性。

步骤6:静态内部类

除了常规内部类,Java还支持静态内部类。静态内部类与外部类实例无关,可以直接通过外部类访问。

public class OuterClass {
    // ...

    public static class StaticInnerClass {
        private int staticInnerData;

        public StaticInnerClass(int data) {
            this.staticInnerData = data;
        }

        public void staticInnerMethod() {
            System.out.println("Static Inner Method");
        }
    }
}

在上面的示例中,我们创建了一个名为StaticInnerClass的静态内部类,并提供了相应的属性和方法。

OuterClass.StaticInnerClass staticInner = new OuterClass.StaticInnerClass(30);
staticInner.staticInnerMethod();

在上面的示例中,我们直接使用外部类调用了静态内部类的构造函数和方法。

这就是Java内部类的基本使用。内部类提供了一种有效的方式来组织和封装代码,并实现更强的封装性和代码组织性。希望本教程对你有所帮助!

本文由mdnice多平台发布

你可能感兴趣的:(程序员)