当前位置:首页 > 未来畅想 > 正文内容

java基础之——访问修饰符(private/default/protected/public)

admin1周前 (05-30)未来畅想11

java基础之——访问修饰符(private/default/protected/public)

1. 访问修饰符介绍

Java编程语言中的访问控制符共有四种类型:私有(private)、默认(无特定关键字)、受保护(protected)和公共(public)。这些修饰符分别代表着不同的访问权限和可见性规则。

元素的访问权限,从严格到宽松依次排列为private、default、protected以及public。对于类A与类B,若它们的访问修饰符均为public,当类A中的某个方法试图调用类B中的另一个方法时java基础之——访问修饰符(private/default/protected/public),可以通过以下图表来判定其访问是否可行。

java基础之——访问修饰符(private/default/protected/public) 第1张

如下举例说明四种修饰符对元素的访问限制:

1.1. private

在类B中尝试访问同包内类A的私有方法protected java,会导致编译阶段出现错误提示。

package p1
class A {
    private String getName(){
        return "jim";
    }
    public void display(){
在当前类中,通过System.out.println()方法输出对象的名称;对于本类中的私有方法,同类访问是被允许的。
    }
}
package p1
class B{
    public void display(){
        A a = new A();
在编译过程中,尝试调用类A中定义的私有方法时,系统输出提示信息:输出a对象所拥有的名称。
    }
}

单例模式中,private关键字被广泛运用,它使得构造函数只能被类内部访问;通过将构造函数设置为private,确保了外部无法直接实例化该类。

public class Singleton {
    /**
将构造函数设定为私有属性,从而阻止外部类在调用时直接利用构造函数来创建对象实例。
     */
    private Singleton() {
    }
    /**
     * 单例必须通过该方法获取
     */
公开静态方法获取Singleton实例,{
返回实例包装器中的实例。
    }
    
定义了一个私有的静态内部类,名为InstanceWrapper。
Singleton类中的静态常量INSTANCE,其值被赋予了一个新创建的Singleton实例。
    }
}

1.2. default

在类C中尝试调用位于不同包中的类A的默认方法时,编译过程中会出现错误提示。

package p1
public class A {
    String getName(){
        return "jim";
    }
}
package p1
public class B{
    public void display(){
        A a = new A();
在当前包内调用默认方法,输出对象a的名称是允许的。
    }
}
package p2
public class C {
    public void display(){
        A a = new A();
在执行System.out.println(a.getName())这一操作时,由于试图调用类A中的默认方法,编译过程中出现了错误。
    }
}

1.3. protected

在类C中尝试调用类A的受保护方法时,编译器将显示错误信息。

package p1
public class A {
    protected String getName(){
        return "jim";
    }
}
package p2
public class B extends A {
    public void display(){
输出父类中受保护的函数调用结果,这是被允许的。
    }
}
package p2
public class C {
    public void display(){
        A a = new A();
在编译过程中,尝试执行System.out.println(a.getName())时,由于试图调用类A中受保护的成员方法,程序将出现错误提示。
    }
}

1.4. public

无访问限制。

package p1
public class A {
    public String getName(){
        return "jim";
    }
}
package p2
public class B {
    public void display(){
        A a = new A();
在无任何访问限制的情况下,能够直接调用并输出变量a所关联对象的名称。
    }
}

当子类对父类的方法进行隐藏或覆盖时,需要遵守访问修饰符的相关规定。

若子类中的函数对父类中的函数进行了隐藏或覆盖,那么子类函数的访问权限标识符应当与父类相应函数的访问权限标识符保持一致,甚至更为宽松。这一原则是面向对象编程的核心protected java,意味着子类应当被视为对父类的一种扩展和优化,从而赋予子类更高的可访问性。以下是一个具体的例子:

/**
 * 父类
 */
class Father {
    /**
     * 静态方法
     */
确保静态方法不受保护,定义一个静态函数。
    }
    /**
     * 非静态方法
     */
    public void method() {
    }
}
/**
 * 子类
 */
class Son extends Father {
    /**
尝试将父类中方法的访问权限修饰符从protected调整为更具限制性的默认访问级别,然而在编译过程中出现了错误提示。
     */
    static void staticMethod() {
    }
    /**
在尝试将方法的访问修饰符从父类的公开(public)级别调整为更具限制性的保护(protected)级别时,编译器出现了错误提示。
     */
    protected void method() {
    }
}

3. 元素支持的访问修饰符

每个组成部分java基础之——访问修饰符(private/default/protected/public),比如类别、接口、注释、构造函数、成员变量以及成员方法等,都明确或暗示地标注了访问权限的修饰符,然而protected java,并非所有这些组成部分都能使用所有四种访问权限修饰符。

加入微信交流群:************ ,请猛戳这里→点击入群

扫描二维码推送至手机访问。

版权声明:本文由前沿科技娱乐汇发布,如需转载请注明出处。

本文链接:https://kejiyl.com/post/3477.html

分享给朋友:

“java基础之——访问修饰符(private/default/protected/public)” 的相关文章

量子通信的发展潜力

量子通信的发展潜力

在当今科技飞速发展的时代,量子通信作为一项极具潜力的前沿技术,正逐渐引起全球的广泛关注。它以其独特的安全性和高效性,有望彻底改变未来的通信格局,为人们的生活和社会的发展带来深远的影响。量子通信的发展历程可谓波澜壮阔。从早期的理论探索到如今的初步应用,历经了无数科学家的不懈努力。量子力学的基本原理为量...

脑机接口娱乐应用场景的奇妙探索

脑机接口娱乐应用场景的奇妙探索

在科技飞速发展的今天,一个令人瞩目的领域正逐渐走进我们的生活,那就是脑机接口。它仿佛是一扇通往神秘世界的大门,将我们带入了前所未有的娱乐应用场景之中,开启了一段奇妙的探索之旅。脑机接口,简单来说,就是通过直接读取和解析大脑的神经信号,来实现人与外部设备的交互。这一技术的出现,为娱乐领域带来了翻天覆地...

太空旅游娱乐:探索宇宙奥秘的休闲新方式

太空旅游娱乐:探索宇宙奥秘的休闲新方式

在当今这个科技飞速发展的时代,太空旅游正逐渐从科幻小说中的幻想变成现实,成为了探索宇宙奥秘的一种全新休闲方式。太空旅游,不再仅仅是宇航员们的专属领域,普通民众也有机会踏上这趟令人激动的宇宙之旅。想象一下,乘坐着先进的太空飞船,穿越大气层,进入那无尽的宇宙星空,那种震撼和神秘感是无法用言语来形容的。当...

太空旅游娱乐安全保障体系的构建解析

太空旅游娱乐安全保障体系的构建解析

随着科技的不断进步,太空旅游这一曾经遥不可及的梦想正逐渐变为现实。太空旅游不仅为人们提供了前所未有的体验,也带来了一系列的安全挑战。构建完善的太空旅游娱乐安全保障体系,成为了推动太空旅游产业发展的关键。技术层面的保障是构建安全保障体系的基础。太空环境极端恶劣,充满了各种未知的危险因素,如宇宙辐射、微...

太空旅游娱乐的环保挑战与应对策略

太空旅游娱乐的环保挑战与应对策略

随着科技的飞速发展,太空旅游这一曾经遥不可及的梦想正逐渐成为现实。越来越多的人渴望踏上太空之旅,体验那独特的失重感和浩瀚宇宙的壮丽景色。太空旅游的兴起也带来了一系列的环保挑战,这些挑战不容忽视,需要我们积极寻找应对策略,以确保太空旅游的可持续发展。太空旅游的环保挑战主要体现在以下几个方面。太空垃圾问...

全息投影演出灯光设计营造的梦幻氛围

全息投影演出灯光设计营造的梦幻氛围

在当今的演艺舞台领域,全息投影技术与灯光设计的完美融合,创造出了令人叹为观止的梦幻氛围。这种融合不仅为观众带来了视觉上的震撼,更让他们仿佛置身于一个虚幻而又真实的世界中。全息投影技术作为一种先进的显示技术,能够将虚拟影像与现实舞台环境完美结合,呈现出立体、真的效果。而灯光设计则如同魔法棒一般,为这一...