原文链接:https://www.cnblogs.com/Time25/p/19891061.html

public

定义为public的类,方法这些可以被其他任何类访问

1
2
3
4
5
6
package abc;

public class Hello {
public void hi() {
}
}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
package xyz;

class Main {
void foo() {
// Main可以访问Hello
Hello h = new Hello();
}
}package xyz;

class Main {
void foo() {
Hello h = new Hello();
h.hi();
}
}


private

定义为private的,只能被限制在该类中使用
由于Java支持嵌套类,如果一个类内部还定义了嵌套类,那么,嵌套类拥有访问private的权限:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// private
public class Main {
public static void main(String[] args) {
Inner i = new Inner();
i.hi();
}

// private方法:
private static void hello() {
System.out.println("private hello!");
}

// 静态内部类:
static class Inner {
public void hi() {
Main.hello();
}
}
}

//定义在一个class内部的class称为嵌套类(nested class),Java支持好几种嵌套类。

protected

protected作用于继承关系。定义为protected的字段和方法可以被子类访问,以及子类的子类:

后面还有一些什么final之类的之前已经学过的就不做笔记了

// TRAINING LOG · 第 54 / 76 篇训练记录 · 成文于 2026.04.19 · 下午 15:42