乐趣区

关于程序员:Java教程0105Java内部类

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 多平台公布

退出移动版