📌  相关文章
📜  Java程序创建包访问外部类和同包成员(1)

📅  最后修改于: 2023-12-03 15:16:37.455000             🧑  作者: Mango

Java程序创建包访问外部类和同包成员

在Java编程中,包访问指的是类或成员在同一包中可以被其他类访问,但对于位于不同包中的类是不可见的。这种访问权限是默认的,即如果没有指定访问修饰符,默认为包访问。

本文将介绍如何创建包,以及如何在包中访问外部类和同包成员。

创建包

要在Java程序中创建包,需要在类文件的顶部添加package语句。包语句应该在import语句之前,但在任何类定义之前。下面是创建包的示例代码:

package com.example.mypackage;

在上面的示例中,我们创建了名为com.example.mypackage的包。包名采用逆域名的命名规则,以确保包名的唯一性。

包访问外部类

在同一包中,我们可以直接访问外部类的所有成员(包括公共、受保护、默认和私有成员)。不需要使用任何特殊的访问修饰符就可以访问外部类。

下面是一个示例代码,演示了如何在同一包中访问外部类的成员:

package com.example.mypackage;

public class OuterClass {
    private int privateField;
    public int publicField;
    int defaultField;

    public void publicMethod() {
        System.out.println("This is a public method in the outer class.");
    }

    private void privateMethod() {
        System.out.println("This is a private method in the outer class.");
    }

    void defaultMethod() {
        System.out.println("This is a default method in the outer class.");
    }
}

在上面的示例中,我们定义了一个名为OuterClass的外部类。该类具有私有、公共和默认的字段和方法。

如果我们在同一包中创建另一个类,那么我们可以直接访问外部类的各种成员(无需使用访问修饰符)。

package com.example.mypackage;

public class Main {
    public static void main(String[] args) {
        OuterClass outer = new OuterClass();
        outer.publicField = 10;
        outer.defaultField = 20;
        outer.publicMethod();
        outer.defaultMethod();
    }
}

在上面的示例中,我们在同一包中创建了一个名为Main的类,并创建了一个OuterClass对象。我们可以直接访问OuterClass的公共和默认字段,并调用其公共和默认方法。

同包成员访问

在同一包中,我们可以直接访问其他类的公共和默认成员(字段和方法),无需使用任何特殊的访问修饰符。

下面是一个示例代码,演示如何在同一包中访问其他类的成员:

package com.example.myotherpackage;

public class OtherClass {
    public int publicField;
    int defaultField;

    public void publicMethod() {
        System.out.println("This is a public method in the other class.");
    }

    void defaultMethod() {
        System.out.println("This is a default method in the other class.");
    }
}

在上面的示例中,我们定义了一个名为OtherClass的类,并定义了公共和默认的字段和方法。

如果我们在同一包中创建了另一个类,那么我们可以直接访问OtherClass的公共和默认字段,并调用其公共和默认方法。

package com.example.myotherpackage;

public class Main {
    public static void main(String[] args) {
        OtherClass other = new OtherClass();
        other.publicField = 10;
        other.defaultField = 20;
        other.publicMethod();
        other.defaultMethod();
    }
}

在上面的示例中,我们在同一包中创建了一个名为Main的类,并创建了一个OtherClass对象。我们可以直接访问OtherClass的公共和默认字段,并调用其公共和默认方法。

总结

通过使用包访问权限,我们可以在同一包中访问外部类和其他同包类的成员。使用包可以帮助我们组织和管理代码,并提供更好的可见性控制。在创建包时,请记住使用逆域名命名规则,以确保包名的唯一性。

以上就是Java程序创建包访问外部类和同包成员的介绍,希望对你有帮助!