欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

JAVA中四种类成员的访问权限的区别以及类的访问权限(默认,public,private,protect)

程序员文章站 2024-03-19 14:28:04
...

前言

作为面向对象的一种语言,封装性是必不可少的,那么类的设计既需要提供外部接口,又需要尽可能的隐藏类的实现细节,因此这需要设计者合理的分配类中成员的访问权限,因此JAVA中也定义了四种不同的访问权限。

一、类设计结构

JAVA中类的设计结构如下:

[访问符][修饰符] class <类名>[extends父类名][implements接口列表]
(1)访问符:用于声明类的访问权限,具体可取public或缺省
(2)修饰符:用于说明所定义的类的特性。可用的有abstract,static,final等
(3)class:定义类的关键字
(4)类名:定义类的名字,类的命名必须符合JAVA标识符命名规定
(5)extends父类名:说明类的父类
(6)implements接口列表:说明一个类所实现的接口
(7)成员变量:定义了类所具有的属性

代码示例:

public class sss
{
	private int s;	//私有访问属性
	public int ss;	//共有访问属性
	protect int sss; //保护访问属性
	int ssss;		//默认访问属性
	public ss()     //定义函数
	{return 0;}
}

二、默认访问修饰符

如上面代码示例中的ssss一样,如果一个类的成员前面没有任何标识符,那么就获得默认访问权限,默认地可以被同一包中的其他类访问。如果一个子类与其父类不在同一个包中,子类也不能访问父类的默认成员。

三、public访问修饰符

使用public访问修饰符,类的成员可被同一包或不同包中的所有类访问,也就是public访问权限使得该成员可以被任何类的成员访问,可以使用与任何类

四、private访问修饰符

使用private访问修饰符,使得类的成员的使用权限被极大限制,被private修饰的成员仅仅只能被自身所在的类的成员访问,类外不可见

五、protected访问修饰符

使用protect访问修饰符允许类本身以及同一包以及不同包中的子类访问。

六、总结为表格

访 问 控 制    private成员  默认成员 protected成员  public成员
同一类中成员    √      √      √      √
同一包中其他类   ×      √      √      √
不同包中子类    ×      ×      √      √
不同包中非子类   ×      ×      ×      √

七、类的访问权限

声明一个类时,可以使用的权限修饰符只有public和默认的两种。但是private和protected可以用于修饰内部类。
(1)public修饰的类是公有类,任何地方都可见,可以被任何一个类使用
(2)默认类只能在当前包中可见,可以被同一包中的其他类使用