第六章 访问权限控制

public 和 包访问权限(默认访问权限)

在一个.java文件中,只允许有一个public类,且该类的名字,必须与文件名相同(有大小写的区别).除了public类,一个.java文件可以有其他额外的类,这些类不能是protected,只能是默认访问权限.

可以为每个类创建一个main()方法,但是程序运行时,只会执行跟文件名相同的类的main函数,

比如Animal.java文件内容如下

1
2
3
4
5
6
7
//Animal.java
class People{
}
public class Animal {
public static void main(String args[]){
}
}

public,protected,private,默认访问权限

对于类中元素而言,共有四种权限,public,protected,private,默认访问权限.

  • 一个包(package)类似于一个朋友圈
  • 默认访问权限类似与朋友权限,又称friendly
  • protected类似于亲戚权限
  • private类似于私密权限,只有自己可以访问

所以

  • 默认访问权限包内的全部成员可以访问(朋友在朋友圈中畅通无阻)
  • protected权限,所有他的继承类可以访问(有血缘关系的亲戚可以访问)
  • private权限,只有自己可以访问

注:如果在某个目录中,有多个.java文件,且这些文件没有指定包名,则java默认他们是在一个包中.

应用–单例模式

可以利用访问权限构建一种设计模式—单例模式

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
class People{
String name="you";
private People(String name) {//构造器私有
this.name = name;
}
private static People people = new People("you");
static People access(){
return people;
}
void f(){
System.out.println("执行f()");
}

}

public class Animal {
public static void main(String args[]){
//People people = new People("Java");不能利用new来新建对象
People.access().f();
}

}

结果

1
执行f()

本文标题:第六章 访问权限控制

文章作者:定。

发布时间:2017年5月6日 - 19时05分

本文字数:1,220字

原始链接:http://cocofe.cn/2017/05/06/第六章 访问权限控制/

许可协议: Attribution-NonCommercial 4.0

转载请保留以上信息。