时间:2021-05-19
我们知道想要访问一个网站,根据身份的不同,会有一些使用上的限制,这就是权限级别的体现。在java的类成员中,有一些访问的级别是需要我们了解的,主要分为四种:public、private、protected、package。下面我们就这四种访问修饰符分别进行详细的介绍。
1.public修饰符用于暴露域和方法,以便在类定义的包外部能访问它们。对包和类中必要的接口元素,也需要使用这个级别;main()方法必须是public的,toString()方法也必须是public的。一般不会用public暴露一个域,除非这个域已经被声明为final。(包内访问)
2.private标识的访问模式,表示私有的域和方法只能被同一个类中的其他方法访问,实现了数据隐藏;必要时,可以通过方法访问私有变量。(类内访问)
3.protected修饰符提供一个从包外部访问包(有限制)的方法。在域和方法前增加protected修饰符不会影响同一个包内其他类和方法对它们的访问。要从包外部访问包(其中含有protected成员的类),必须保证被访问的类是带有protected成员类的子类。也就是说,希望包中的一个类被包之外的类继承重用时,就可以使用这个级别。一般应该慎用。(跨包访问)
4.package是默认的保护模式,又叫做包访问,没有任何修饰符时就采用这种保护模式。包访问允许域和方法被同一个包内任何类的任何方法访问。(包中类被包外类继承重用)
1.前三种类型的访问级别使用以下三个关键字之一来指定:public,private或protected。第四种类型称为默认访问级别(或包级别),并且通过不使用访问修饰符来指定。
如果类成员使用public关键字声明为公开,如果类本身可访问的话,则可以从Java代码中的任何位置访问它。
2.如果使用private关键字将类成员声明为私有,则只能在声明类的主体中访问,而在其他任何地方都不能访问。
3.如果使用protected关键字将类成员声明为保护,则可以从同一包中的类或该类的子类来访问此类成员,即使子类位于不同的包中也是可以访问的。
4.如果不为类成员使用任何访问级别修辞符,则它具有包级别访问权限。 具有包级别访问权限的类成员可以从同一个包中访问。
5.类成员的访问级别可以从最严格到最不严格,即:private,package-level,protected和public。
知识点扩展:
类可以是public或default(或包级别)。在本教程中主要介绍 public,private,protected 这几个访问级别修辞符的使用。
类成员的访问级别确定程序的哪个区域可以访问它。 以下四个访问级别修饰符之一可以用于类成员:
默认或包级别访问
前三种类型的访问级别使用以下三个关键字之一来指定:public,private或protected。第四种类型称为默认访问级别(或包级别),并且通过不使用访问修饰符来指定。
如果类成员使用public关键字声明为公开,如果类本身可访问的话,则可以从Java代码中的任何位置访问它。
如果使用private关键字将类成员声明为私有,则只能在声明类的主体中访问,而在其他任何地方都不能访问。
如果使用protected关键字将类成员声明为保护,则可以从同一包中的类或该类的子类来访问此类成员,即使子类位于不同的包中也是可以访问的。
如果不为类成员使用任何访问级别修辞符,则它具有包级别访问权限。 具有包级别访问权限的类成员可以从同一个包中访问。
到此这篇关于java类成员中的访问级别浅析的文章就介绍到这了,更多相关java类成员中的访问级别有哪些内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
在某些情况下,为不是类成员的函数或单独类中的所有函数授予成员级别的访问权会更方便。仅类实现器可以声明其友元。函数或类不能将其自身声明为任何类的友元。在类声明中,
友元函数和友元类的需要:类具有封装和信息隐藏的特性。只有类的成员函数才能访问类的私有成员,程序中的其他函数是无法访问私有成员的。非成员函数可以访问类中的公有成员
一、Java中的static使用之静态变量1.Java中被static修饰的成员称为静态成员或类成员。它属于整个类所有,而不是某个对象所有,即被类的所有对象所共
C++中静态成员函数访问非静态成员的实例实现代码:#include/*静态成员函数只能访问静态数据成员、静态成员函数和类以外的函数和数据,不能访问非静态数据成员
一前言这篇文章是很基础的一文,没多大深度,对于开发人员必然是熟练于心。本篇文章的主题是为什么java要设置类成员访问级别?其原因也很简单,就是为了面向对象的封装