Java四种权限修饰符知识点详解

Java四种权限修饰符知识点详解

在Java语言中,有四种权限修饰符,分别为public、protected、default和private。这四种修饰符分别控制类、变量、方法等成员的访问权限。以下是对Java四种权限修饰符的详细解释。

1. public

public是最开放的权限修饰符。如果一个类、方法或者变量被修饰为public,那么它就可以被任何其他类所访问,无论这个类是否在同一个包中。以下是一个public修饰符的示例代码:

public class MyClass {
    public int myPublicVariable;
    public void myPublicMethod() {
        System.out.println("This is a public method.");
    }
}

2. protected

如果一个类、方法或者变量被修饰为protected,那么它仅可以被它所在类的子类所访问。如果这个类不是其他类的子类,那么其他类依然无法访问这个类、方法或者变量。以下是一个protected修饰符的示例代码:

public class MyClass {
    protected int myProtectedVariable;
    protected void myProtectedMethod() {
        System.out.println("This is a protected method.");
    }
}

public class MySubClass extends MyClass {
    public void mySubClassMethod() {
        myProtectedVariable = 1;
        myProtectedMethod();
    }
}

在上述示例中,MySubClass是MyClass的子类,因此它可以访问MyClass中被protected修饰的变量和方法。其他类如果不是MyClass的子类,无法访问myProtectedVariable和myProtectedMethod。

3. default

如果一个类、方法或者变量没有被修饰符所修饰,那么它使用的就是默认权限修饰符(也称为包访问权限)。如果一个类、方法或者变量使用了默认权限修饰符,那么它只能被同一个包中的其他类所访问。以下是一个默认访问权限的示例代码:

class MyClass {
    int myDefaultVariable;
    void myDefaultMethod() {
        System.out.println("This is a default method.");
    }
}

public class MyOtherClass {
    public void myOtherMethod() {
        MyClass myClass = new MyClass();
        myClass.myDefaultVariable = 1;
        myClass.myDefaultMethod();
    }
}

在上述示例中,MyClass使用了默认权限修饰符,因此它只能被同一个包中的其他类所访问。MyOtherClass和MyClass位于同一个包中,因此MyOtherClass可以访问MyClass中被默认修饰的变量和方法。

4. private

private是最严格的权限修饰符。如果一个类、方法或者变量被修饰为private,那么它仅可以被它所在类的其他方法所访问,其他类无法访问这个类、方法或者变量。以下是一个private修饰符的示例代码:

public class MyClass {
    private int myPrivateVariable;
    private void myPrivateMethod() {
        System.out.println("This is a private method.");
    }
    public void myPublicMethod() {
        myPrivateVariable = 1;
        myPrivateMethod();
    }
}

在上述示例中,myPrivateVariable和myPrivateMethod被private修饰符所修饰,因此它们仅可以被MyClass中的其他方法所访问。myPublicMethod是一个public方法,可以被其他类所访问,在myPublicMethod中调用了myPrivateVariable和myPrivateMethod。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java四种权限修饰符知识点详解 - Python技术站

(0)
上一篇 2023年6月26日
下一篇 2023年6月26日

相关文章

  • js实现完美兼容各大浏览器的人民币大小写相互转换

    JS实现完美兼容各大浏览器的人民币大小写相互转换攻略 在JavaScript中,实现人民币大小写相互转换需要考虑兼容各大浏览器的问题。下面是一个完整的攻略,包含了两个示例说明。 步骤一:定义转换函数 首先,我们需要定义一个函数,用于将人民币金额转换为大写金额。以下是一个示例函数: function convertToChineseCurrency(numbe…

    other 2023年8月18日
    00
  • GTA5 PC版ScriptHook无法加载怎么办 ScriptHook无法加载解决方法

    我会提供详细的攻略来解决这个问题。 GTA5 PC版ScriptHook无法加载怎么办 什么是ScriptHook? ScriptHook是一个GTA游戏的扩展模块,可用于PC版GTA5中。该扩展模块使得玩家可以使用额外的外部脚本来改变游戏中的各个方面,例如增加自定义车辆、人物或者场景等。 为什么ScriptHook无法加载? 当ScriptHook无法加载…

    other 2023年6月27日
    00
  • 电脑桌面上的淘宝图标删不掉怎么办呢?

    当电脑桌面上的淘宝图标删不掉时,可以按照以下步骤进行排查和解决: 查看该图标是否被锁定 首先需要查看该淘宝图标是否被锁定,只要锁定了,则无法移除该图标。可以右键单击该图标,选择“属性”选项,在弹出窗口中查看是否勾选了“锁定工具栏”选项。如果已勾选,取消勾选并保存设置即可。 尝试手动删除该图标 如果锁定工具栏选项未勾选,可以尝试手动删除该图标。右键单击该图标,…

    other 2023年6月27日
    00
  • 【unity入门】碰撞检测与触发检测

    【Unity入门】碰撞检测与触发检测 在Unity开发游戏过程中,经常需要对游戏对象之间的碰撞进行检测。碰撞检测可以实现游戏的物理效果,例如实现物体相互碰撞弹开、人物受伤等效果。而触发检测则对碰撞检测实现了进一步的扩展,允许程序员自定义事件的响应。 碰撞检测 Unity提供了各种方式的碰撞检测,可以选择根据需求灵活使用。 碰撞检测器 在Unity中为物体添加…

    其他 2023年3月29日
    00
  • vgg网络

    vgg网络 VGG网络是深度学习领域中经典的卷积神经网络模型之一,由牛津大学的Simonyan和Zisserman在2014年提出。它的全称是Visual Geometry Group网络,旨在解决图像分类和图像识别任务。 架构 VGG网络的架构相对于之前的神经网络更加深层,其中的卷积层使用较小的3×3大小的卷积核,而不是之前常用的11×11或者7×7,这样…

    其他 2023年3月28日
    00
  • u盘安装centos的方法

    以下是关于“U盘安装CentOS的方法”的完整攻略,包括准备工作、制作启动盘、安装CentOS和两个示例。 准备工作 在制作U盘启动盘之前,需要准备以下材料: 一台电脑:用于制作U盘启动盘和安装CentOS。 一个U盘:容量不小于4GB。 CentOS镜像文件:可以从CentOS官网下载。 制作启动盘 以下是制作U盘启动盘的步骤: 下载并安装Etcher:E…

    other 2023年5月7日
    00
  • Java递归遍历文件目录代码实例

    下面是“Java递归遍历文件目录代码实例”的完整攻略。 目录 简介 代码实现 示例说明 示例一 示例二 简介 在Java中如何递归地遍历文件目录呢?Java提供了File类,可以很方便地对文件和目录进行操作。我们可以通过File类的listFiles()方法获取当前目录下的所有文件和目录,然后递归地遍历每一个目录。 代码实现 下面是Java递归遍历文件目录的…

    other 2023年6月27日
    00
  • 关于ioncube扩展的安装和使用

    当然,我很乐意为您提供有关“关于ionCube扩展的安装和使用”的完整攻略。以下是详细的步骤和两个示例: 1. 什么是ionCube扩展? ionCube是一种PHP扩展,用于加密和保护PHP代码。它可以将PHP代码编译成二进制格式,以防止未经授权的访问和修改。ionCube扩展通常用于商业软件和Web应用程序的保护。 2. ionCube扩展的安装和使用 …

    other 2023年5月6日
    00
合作推广
合作推广
分享本页
返回顶部