java四种访问权限修饰符
2016-04-12 16:59
671 查看
本文归纳总结java的四种权限修饰符:public、protected、default(即默认,有的地方叫friendly)、private
[color=gray]ps:无访问权限修饰符时,默认为default,不用显示地写出来。[/color]
[color=blue]一、访问权限修饰符修饰类[/color]
1.只有public或者default能够用来修饰类。
2.一个.java文件中最多只能有一个类是用public修饰,并且这个类的名字必须与文件名相同。
[color=blue]二、访问权限修饰符修饰成员变量和成员方法[/color]
1.public
被public修饰的成员变量和成员方法能在任意情况下被访问,其所在的方法、所在的类、所在类的子类、所在的包和其他包中的对象和方法都可以访问。
[color=gray]ps:由public修饰变量和非构造函数的方法违背了java的封装原则,此时代码安全性低。[/color]
2.protected
被protected修饰的成员变量和成员方法对其所在类、类所在的包、所在类的子类是可见的。对其他包中未继承它的类是不可见的。
3.default(默认)
成员变量和成员方法无访问权限修饰符时,它们只能被其所在类和类所在的包访问,即使所在类的子类都不能访问,但如果子类在同一类中时可以被访问。
4.private
被private修饰的成员变量和成员方法只能在本类中使用。即它是所在类的私有物,对类外面的代码是不可见的。
[color=brown]访问权限 类 包 不在同一个包里的子类 其他包
public √ √ √ √
protected √ √ √ ×
friendly √ √ × ×
private √ × × ×[/color]
除了访问权限修饰符,还有其他种类的修饰符,此处就不一一阐述了。
[color=gray]ps:无访问权限修饰符时,默认为default,不用显示地写出来。[/color]
[color=blue]一、访问权限修饰符修饰类[/color]
1.只有public或者default能够用来修饰类。
2.一个.java文件中最多只能有一个类是用public修饰,并且这个类的名字必须与文件名相同。
//在名为Te.java的文件中
public class Te{
public static void main(String args[]){
System.out.println();
}
//由于Te类已经用public修饰,则GetValue类不能再用它修饰,无论GetValue类是否是Te类的内部类。
public class GetValue{//错误
}
}
public class GetValue{//错误
}
[color=blue]二、访问权限修饰符修饰成员变量和成员方法[/color]
1.public
被public修饰的成员变量和成员方法能在任意情况下被访问,其所在的方法、所在的类、所在类的子类、所在的包和其他包中的对象和方法都可以访问。
[color=gray]ps:由public修饰变量和非构造函数的方法违背了java的封装原则,此时代码安全性低。[/color]
//Te类的成员变量a可以被main()方法访问,也可以被SetSomething类中的setValue()方法访问
public class Te{
public static void main(String args[]){
SetSomething ss = new SetSomething();
ss.a=0;
int b=0;
System.out.println();
}
}
class SetSomething{
public int a;
void setValue(){
a=10;
}
}
2.protected
被protected修饰的成员变量和成员方法对其所在类、类所在的包、所在类的子类是可见的。对其他包中未继承它的类是不可见的。
3.default(默认)
成员变量和成员方法无访问权限修饰符时,它们只能被其所在类和类所在的包访问,即使所在类的子类都不能访问,但如果子类在同一类中时可以被访问。
4.private
被private修饰的成员变量和成员方法只能在本类中使用。即它是所在类的私有物,对类外面的代码是不可见的。
[color=brown]访问权限 类 包 不在同一个包里的子类 其他包
public √ √ √ √
protected √ √ √ ×
friendly √ √ × ×
private √ × × ×[/color]
除了访问权限修饰符,还有其他种类的修饰符,此处就不一一阐述了。
相关文章推荐
- Java四种访问权限修饰符
- Java四种访问权限修饰符的通俗理解。
- java中四种修饰符访问权限的区别及详解过程(一个链接)
- Java的四种修饰符的访问权限
- java里面的四种访问权限修饰符(private、缺省、protected、public)
- Java四种访问权限修饰符
- java 修饰符的访问权限
- java中四种访问权限
- Java第十一天(内部类、、访问权限修饰符、Object类包括toString和equals方法重写)
- Java提供的四种访问控制修饰符
- Java四种访问修饰符
- Java权限访问修饰符 亲测总结
- java 修饰符和访问权限介绍
- java中四种访问修饰符区别
- java中4种修饰符访问权限的区别及详解全过程,final修饰符 ,static修饰符 ,abstract修饰符
- java中四种访问修饰符区别及详解全过程
- Java类修饰符和成员变量、函数修饰符与访问权限
- java访问权限修饰符
- java中的四种访问控制权限
- Java中访问修饰符protected的权限