当前类 同一package 子孙类 其他package
public √ √ √ √
protected √ √ √ ×
friendly √ √ × ×
private √ × × ×
不写时默认为friendly
public √ √ √ √
protected √ √ √ ×
friendly √ √ × ×
private √ × × ×
不写时默认为friendly
解决方案 »
- java 求助 关于线程的同步问题
- 请教org.springframework.web.context.ContextLoaderListener配置struts2和spring以及路径关系
- 大神们 ,这个错误怎么解? 应该很简单的!小弟急啊
- 求一个java算法~~
- 我该怎么样为一个Timestamp对象赋一个指定日期值比如2006-4-26 17:30
- 关于SWT/JFace的疑问(回帖就给分)
- 请教--有关java网络编程
- 急呀,面食时遇到的IO问题,谁能指点我一下
- 怎么样使用java生成一个word文档,求个例子,word的格式可以自己定义和排版。
- java语言程序设计第八版 基础篇 上的一道题
- 如何把JAVA工程 编译成.SO文件
- JSTL
public: Java语言中访问限制最宽的修饰符,一般称之为“公共的”。被其修饰的类、属性以及方法不仅可以跨类访问,而且允许跨包(package)访问。
private: Java语言中对访问权限限制的最窄的修饰符,一般称之为“私有的”。被其修饰的类、属性以及方法只能被该类的对象访问,其子类不能访问,更不能允许跨包访问。
protect: 介于public 和 private 之间的一种访问修饰符,一般称之为“保护形”。被其修饰的类、属性以及方法只能被类本身的方法及子类访问,即使子类在不同的包中也可以访问。
default:即不加任何访问修饰符,通常称为“默认访问模式“。该模式下,只允许在同一个包中进行访问
访问权限没有这样简单吧.
比如:package a;
public class Base
{
void def()
{
System.out.println("The default mothod of the base class.");
}
}
package a;
public class Derived extends Base
{
public static void main(String[] args)
{
Derived dr = new Derived();
dr.def();//888888correct8888888
}
}package b;
import a.Base;
public class Derived2 extends Base
{
public static void main(String[] args)
{
Derived2 dr2 = new Derived2();
dr2.def();//********error*************
}
}
package a;
public class Another
{
public static void main(String[] args)
{
Derived dr3 = new Derived();
dr3.def();//************correct**********
}
}
这里涉及到外部接口和内部接口的问题