Java基础语法:什么是Java的访问修饰符?它们有什么作用?

简介: Java基础语法:什么是Java的访问修饰符?它们有什么作用?

在Java中,访问修饰符(Access Modifiers)用于限定类、变量、方法和构造方法的访问范围。Java提供了四种访问修饰符,分别是publicprotecteddefault(包内可见,没有关键字)、private。这些修饰符决定了一个类的成员在其他类中是否可见和可访问。

以下是对每个访问修饰符的简要介绍:

  1. public(公共访问修饰符):

    • 可以被任何类访问,无访问限制。
    • 适用于类、接口、变量、方法。

    示例:

    public class MyClass {
         
        public int myPublicVar;
        public void myPublicMethod() {
         
            // 方法体
        }
    }
    
  2. protected(受保护访问修饰符):

    • 可以被同一包内的类访问,以及子类访问。
    • 适用于变量、方法,但不适用于顶级类(即不可修饰类)。

    示例:

    class MyParentClass {
         
        protected int myProtectedVar;
        protected void myProtectedMethod() {
         
            // 方法体
        }
    }
    
    class MyChildClass extends MyParentClass {
         
        void accessProtectedVarAndMethod() {
         
            myProtectedVar = 42;
            myProtectedMethod();
        }
    }
    
  3. default(默认访问修饰符):

    • 当没有指定访问修饰符时,成员默认为包内可见。
    • 可以被同一包内的类访问,但不能被其他包的类访问。
    • 适用于类、接口、变量、方法。

    示例:

    class DefaultAccessClass {
         
        int myDefaultVar;
        void myDefaultMethod() {
         
            // 方法体
        }
    }
    
  4. private(私有访问修饰符):

    • 最小的访问级别,只能在声明它的类内访问。
    • 适用于变量和方法,但不适用于顶级类。

    示例:

    public class MyClass {
         
        private int myPrivateVar;
        private void myPrivateMethod() {
         
            // 方法体
        }
    }
    

访问修饰符的选择取决于设计和安全性的需求。通常来说,应该尽量使用最小的访问级别,以保持封装性和安全性。

相关文章
|
10月前
|
Java 开发工具
【Azure Storage Account】Java Code访问Storage Account File Share的上传和下载代码示例
本文介绍如何使用Java通过azure-storage-file-share SDK实现Azure文件共享的上传下载。包含依赖引入、客户端创建及完整示例代码,助你快速集成Azure File Share功能。
624 6
|
11月前
|
Java
Java基础语法与面向对象
重载(Overload)指同一类中方法名相同、参数列表不同,与返回值无关;重写(Override)指子类重新实现父类方法,方法名和参数列表必须相同,返回类型兼容。重载发生在同类,重写发生在继承关系中。
271 1
|
11月前
|
存储 SQL NoSQL
Redis-常用语法以及java互联实践案例
本文详细介绍了Redis的数据结构、常用命令及其Java客户端的使用,涵盖String、Hash、List、Set、SortedSet等数据类型及操作,同时提供了Jedis和Spring Boot Data Redis的实战示例,帮助开发者快速掌握Redis在实际项目中的应用。
778 1
Redis-常用语法以及java互联实践案例
|
12月前
|
算法 Java 测试技术
零基础学 Java: 从语法入门到企业级项目实战的详细学习路线解析
本文为零基础学习者提供完整的Java学习路线,涵盖语法基础、面向对象编程、数据结构与算法、多线程、JVM原理、Spring框架、Spring Boot及项目实战,助你从入门到进阶,系统掌握Java编程技能,提升实战开发能力。
773 0
|
12月前
|
存储 Java 容器
Java基本语法详解
本文深入讲解了Java编程的基础语法,涵盖数据类型、运算符、控制结构及数组等核心内容,帮助初学者构建坚实的编程基础。
|
12月前
|
存储 安全 Java
java: 无法访问org.springframework.ldap.core.LdapTemplate
java: 无法访问org.springframework.ldap.core.LdapTemplate
289 9
|
存储 安全 Java
Java8语法最佳实践-什么是对象(下)
计算机革命起源机器。编程语言就像是那台机器。它不仅是我们思维放大的工具与另一种表达媒介,更像是我们思想的一部分。语言的灵感来自其他形式的表达,如写作,绘画,雕塑,动画和电影制作。编程语言就是创建应用程序的思想结构。
273 0
|
存储 算法 Java
Java8语法最佳实践-什么是对象(上)
计算机革命起源机器。编程语言就像是那台机器。它不仅是我们思维放大的工具与另一种表达媒介,更像是我们思想的一部分。语言的灵感来自其他形式的表达,如写作,绘画,雕塑,动画和电影制作。编程语言就是创建应用程序的思想结构。
540 0
Java8语法最佳实践-什么是对象(上)
|
10月前
|
JSON 网络协议 安全
【Java】(10)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
440 1
|
10月前
|
JSON 网络协议 安全
【Java基础】(1)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
410 1