包、作用域
一、包
- 位于同一个包的类,可以访问包作用域的字段和方法
package com.company;
public class Person {
// 包作用域:
void hello() {
System.out.println("Hello!");
}
}
package com.company;
public class Main{
public static void main(String[] args){
Person p = new Person();
p.hello();
}
}
- 在不同的包中,可以使用
import
来导入
package org.apache
import com.company.Person
二、作用域
1、权限
限制作用域的关键字:默认
,public
,private
,protected
·定义为public的class、interface可以被其他任何类访问
·定义为private的field、method无法被其他类访问
·protected作用于继承关系。定义为protected的字段和方法可以被子类访问,以及子类的子类
本类中 | 子类中 | 同包类中 | 其他类中 | |
---|---|---|---|---|
public | 可以 | 可以 | 可以 | 可以 |
protected | 可以 | 可以 | 可以 | 不可以 |
默认 | 可以 | 同包子类可以 | 可以 | 不可以 |
private | 可以 | 不可以 | 不可以 | 不可以 |
2、包作用域
- 一个
.java
文件只能包含一个public
类,但可以包含多个非public
类。如果有public
类,文件名必须和public
类的名字相同。
博客内容仅供参考,部分参考他人优秀博文,仅供学习使用
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix