在进行java web分页实验时忽然想起构造器没有修饰符会如何,及各种修饰符在不同情况下对不同权限下的使用。
进行如下测试:
java版本:java 1.7.0
第一、在class类修饰符为public前提下
第二、在class类修饰符为缺省前提下
1.public
2.private
3.protected
4.缺省
开始:
第一种:class修饰符public
package top.chen.jdbc;
public class PageService {
protected PageService(float protectedf){
}
private PageService(int privatei){
}
public PageService(String publics){
}
PageService(double defaultd){
}
}
在同一个包中
不同类可以引用:
1.public
3.protected
4.缺省
PageService ps = new PageService(defaultd);
ps = new PageService(protectedf);
ps = new PageService(publics);
同一包中子类中情况相同,只能获取1,3,4.
在不同包中,只可以引用public
PageService ps = new PageService(publics);
在不同包中子类中则只有1,3。
第二种情况:
class 修饰符缺省
在其他包中无法访问该类,只能在同一包目录下使用并只能使用1,3,4.
总结:
四种方法修饰符:
1.public
2.private
3.protected
4.缺省
类public
相同包不同类和相同包其子类对构造器权限相同,能获取非私有方法其他3种。
不同包不同类可获取public ,不同包子类则多一种protected。
类缺省
其他包无法访问
同一包目录下可使用非私有方法。