java的访问权限

java有4种访问权限,3种访问权限修饰符:public,protected,private,还有一个不带任何修饰符、默认的default。

下面从本类,同包,(其他包)子类,其他包(非子类)这四个方面来对比:

public:公共的,权限最大的访问修饰符,被修饰的类、属性、方法可以跨类跨包访问;

protected:受保护的,不可以修饰类,可以修饰属性和方法,被修饰的属性和方法能被同一包里的类访问(可以在本类、同包中访问),也能被该类的子类访问,即使父类和子类不在同一个包中;

default:默认的。可以在本类、同包中进行访问;

private:私有的,访问权限最小的修饰符,不可以修饰类,只能被该类的对象访问(只能在本类中访问)。

这四种权限的大小:public>protected>default>private

通常来说,权限越小、越低,越能提高安全性,在创建类、对象、方法时,我们应当仔细选择。

注意:public和default可以修饰任何类,且类名要与文件名相同。

  本类 同包 不同包的子类 其他包的非子类
public
protected  
default    
private      
时间: 2024-10-05 15:21:55

java的访问权限的相关文章

java:访问权限

访问权限四大类:权限从大->小 1.public:   公共权限 2.protected:  受保护权限 3.default: 包级别访问权限/默认权限 4.private:   私有权限 以public为例,使用方法如下: public class Test{ public int i; public void fun(){ } } public ->在同一个包或不同的包中的类可以自由访问. 可以修饰类.成员变量和成员函数 Test.java class Test { public stat

java 类访问权限

Java有四种访问权限, 其中三种有访问权限修饰符,分别为private,public和protected,还有一种不带任何修饰符. private: Java语言中对访问权限限制的最窄的修饰符,一般称之为“私有的”.被其修饰的类.属性以及方法只能被该类的对象访问,其子类不能访问,更不能允许跨包访问. default:即不加任何访问修饰符,通常称为“默认访问模式“.该模式下,只允许在同一个包中进行访问. protect: 介于public 和 private 之间的一种访问修饰符,一般称之为“保

Java类方法访问权限

1.权限解析 Java有四种访问权限, 其中三种有访问权限修饰符,分别为private,public和protected,还有一种不带任何修饰符. private: Java语言中对访问权限限制的最窄的修饰符,一般称之为“私有的”.被其修饰的类.属性以及方法只能被该类的对象访问,其子类不能访问,更不能允许跨包访问. default:即不加任何访问修饰符,通常称为“默认访问模式“.该模式下,只允许在同一个包中进行访问. protect: 介于public 和 private 之间的一种访问修饰符,

Java之访问权限控制符以及结合继承体系引发的注意事项

访问修饰符的作用域: private:可以定义方法或者属性,定义的方法和属性不能被外部的类所访问(包括子类). default:可以在本包中的任意地方访问. protected:保护,不同包中的非子类不能访问.(能访问的成员包括相同包以及该类的任意子类) public:公共的,都可以访问,不受任何限制. Java继承&访问修饰符结合使用引发的大混乱 1.子类重载方法的权限是否允许小于父类定义?其中,private<default<public 不允许,注:Java中允许Parent  

java中访问权限修饰符解析

访问权限控制修饰符:public protected 默认(default) private this static super final abstract 其中abstract这个修饰符脾气很大,这个修饰符不能与static private final共存对于final,表示最终,final修饰变量,那么这个变量第一次被赋值后,就不能被再次赋值,也可以把它理解为常量,注意内存空间里面的常量池...这是方法区里面一块特殊的内存空间...final修饰类,表示这个类是最终类,也就是说,不能有子类

[think in java] 知识点-访问权限控制

在java中,数组是以引用的形式传递的. 如果没有定义toString()方法的话,打印行为打印的是类的名字和对象的地址.  如:[email protected] 每个编译单元内只能有一个public类.虽然不常用,当编译单元内完全不带public类也是可能的.在这种情况下,可以随意对文件命名. 在java中,如果使用package语句,它必须是注释以外的第一句程序. 如果不提供任何访问权限,则意味者它是"包访问权限".默认访问权限没有任何关键字,但通常是指"包访问权限&q

java中访问权限修饰符

java中的访问权限修饰符共有四种,分别为private.default.protected.public,它们的访问权限依次升高,private只能被本类所调用,default(不写的话默认为default)可以被同一个包下的所有类所调用,protected既可以被同一个包下的所有类所调用,也能被不同包下的子类所调用(即必须要有继承关系),而public则为公开的,项目下所有包的所有类都可进行调用. 代码测试如下: , 经测试结果如下: 除private类报错外,其余各访问权限修饰词均在本包其

Thinking in java Chapter6 访问权限控制

访问权限控制的等级,从最大权限到最小权限:public proteced 包访问权限 private 6.1 包:库单元 public class FullQualification { public static void main(String[] args) { java.util.ArrayList list = new java.util.ArrayList<>(); } } import java.util.ArrayList; public class SingleImport

java web访问权限控制

权限管理有很多种方式,这里我总结一种相对较容易理解的权限控制方式. 也就是用户对应角色,角色对应功能模块 例如你的功能包括商城.活动.优惠券这几大模块,对应的就是存储相应模块下有想应权限的用户id 某个模块对应的具有权限的用户id 操作: 访问时判断用户是否存在该模块对应的用户列表中,存在则说明有权限 该模块下对应的功能如果需要再细分,则以类型的形式设置访问权限.