当前位置: 首页 > news >正文

Java 中的访问修饰符有哪些(九)

Java 中的访问修饰符用于限制类、接口、字段和方法的访问范围,它们分别表示不同的访问控制级别。Java 中共有四种访问修饰符:public、protected、default 和 private。

  1. public

public 是最开放的访问修饰符,用于指定公共访问级别。被 public 修饰的类、接口、字段和方法可以在任何地方被访问。

例如,下面的代码定义了一个公共类:

public class MyClass {// ...
}

这个类可以在任何地方被访问。另外,如果一个方法或字段被声明为 public,那么它也可以在任何地方被访问。例如:

public class MyClass {public String name;public void sayHello() {System.out.println("Hello, world!");}
}
  1. protected

protected 用于指定受保护的访问级别。被 protected 修饰的类、字段和方法可以被本包内的其他类访问,以及子类中访问。

例如,下面的代码定义了一个受保护的类:

package mypackage;protected class MyProtectedClass {// ...
}

这个类只能被 mypackage 包内的其他类访问,以及继承了 MyProtectedClass 的子类访问。另外,如果一个方法或字段被声明为 protected,那么它也可以被同一包内的其他类访问,以及继承了该类的子类访问。例如:

package mypackage;public class MyClass {protected String name;protected void sayHello() {System.out.println("Hello, world!");}
}

这个类的 name 和 sayHello 方法可以被 mypackage 包内的其他类访问,以及继承了 MyClass 的子类访问。

  1. default

default 是 Java 中默认的访问修饰符,它也称为包级私有访问控制。如果一个类、接口、字段或方法没有使用任何访问修饰符,那么它就是默认访问级别。默认访问级别表示只能在同一包内进行访问。

例如,下面的代码定义了一个默认访问级别的类:

package mypackage;class MyDefaultClass {// ...
}

这个类只能被 mypackage 包内的其他类访问。另外,如果一个方法或字段没有使用任何访问修饰符,那么它也是默认访问级别。例如:

package mypackage;public class MyClass {String name;void sayHello() {System.out.println("Hello, world!");}
}

这个类的 name 和 sayHello 方法只能被 mypackage 包内的其他类访问。

  1. private

private 是最严格的访问修饰符,它用于指定私有访问级别。被 private 修饰的字段和方法只能在定义它们的类内部进行访问。

例如,下面的代码定义了一个私有类:

public class MyClass {private String name;private void sayHello() {System.out.println("Hello, world!");}
}

这个类的 name 和 sayHello 方法只能在 MyClass 类内部进行访问。

总结:

Java 中的四种访问修饰符分别表示不同的访问控制级别,可以用于限制类、接口、字段和方法的访问范围。public 是最开放的访问级别,protected 是受保护的访问级别,default 是默认的访问级别,private 是最严格的访问级别。在实际编程中,我们应该根据需要选择合适的访问修饰

http://www.lryc.cn/news/64328.html

相关文章:

  • HR员工管理的三重境界:管事、管人、管心
  • 延迟队列与SpringBoot实战
  • 【算法】九键输入法
  • jvm之类加载器
  • Chapter4:频率响应法(上)
  • 【6. 激光雷达接入ROS】
  • Java 基础进阶篇(三)—— 面向对象的三大特征之二:继承
  • [angstromctf 2023] 部分
  • 死信队列
  • 基于YOLOv5的目标检测系统详解(附MATLAB GUI版代码)
  • 使用ChatGPT工具阅读文献的实战教程
  • 实训笔记1
  • CCD视觉检测设备如何选择光源
  • 基于协同过滤的旅游推荐系统设计与实现(论文+源码)_kaic
  • 代码随想录补打卡 746 使用最小花费爬楼梯
  • 有理函数的不定积分习题
  • PS滤镜插件-Nik Collection介绍
  • 力扣刷题2023-05-04-1——题目:2614. 对角线上的质数
  • 【Java笔试强训 2】
  • 术数基础背诵口诀整理
  • Linux 基础语法 -2
  • 深度学习框架发展趋势
  • Mysql为json字段创建索引的两种方式
  • cassandra数据库入门-4
  • 微服务学习——分布式搜索
  • ChatGPT根据销售数据、客户反馈、财务报告,自动生成报告,并根据不同利益方的需要和偏好进行调整?
  • Flask开发之环境搭建
  • Java集合框架与ArrayList、LinkedList的区别
  • python-pandas库
  • C++学习day--01 C生万物