| Class | Package | Subclass | Subclass | World | | |(same pkg)|(diff pkg)| ————————————+———————+—————————+——————————+——————————+———————— public | + | | + | + | + ————————————+———————+—————————+——————————+——————————+———————— protected | + | + | + | + | ————————————+———————+—————————+——————————+——————————+———————— no modifier | + | + | + | | ————————————+———————+—————————+——————————+——————————+———————— private | + | | | | + : accessible blank : not accessible
答案原地址:https://stackoverflow.com/questions/215497/in-java-difference-between-package-private-public-protected-and-private
这个是stackoverflow的一个答案 我转载并翻译一下 原答案是从官方文档上得出的:https://docs.oracle.com/javase/tutorial/java/javaOO/accesscontrol.html我是这么记得
private-类
无(deflaut)-包protected-子类+包
public-所有范围