[{"createTime":1735734952000,"id":1,"img":"hwy_ms_500_252.jpeg","link":"https://activity.huaweicloud.com/cps.html?fromacct=261f35b6-af54-4511-a2ca-910fa15905d1&utm_source=V1g3MDY4NTY=&utm_medium=cps&utm_campaign=201905","name":"华为云秒杀","status":9,"txt":"华为云38元秒杀","type":1,"updateTime":1735747411000,"userId":3},{"createTime":1736173885000,"id":2,"img":"txy_480_300.png","link":"https://cloud.tencent.com/act/cps/redirect?redirect=1077&cps_key=edb15096bfff75effaaa8c8bb66138bd&from=console","name":"腾讯云秒杀","status":9,"txt":"腾讯云限量秒杀","type":1,"updateTime":1736173885000,"userId":3},{"createTime":1736177492000,"id":3,"img":"aly_251_140.png","link":"https://www.aliyun.com/minisite/goods?userCode=pwp8kmv3","memo":"","name":"阿里云","status":9,"txt":"阿里云2折起","type":1,"updateTime":1736177492000,"userId":3},{"createTime":1735660800000,"id":4,"img":"vultr_560_300.png","link":"https://www.vultr.com/?ref=9603742-8H","name":"Vultr","status":9,"txt":"Vultr送$100","type":1,"updateTime":1735660800000,"userId":3},{"createTime":1735660800000,"id":5,"img":"jdy_663_320.jpg","link":"https://3.cn/2ay1-e5t","name":"京东云","status":9,"txt":"京东云特惠专区","type":1,"updateTime":1735660800000,"userId":3},{"createTime":1735660800000,"id":6,"img":"new_ads.png","link":"https://www.iodraw.com/ads","name":"发布广告","status":9,"txt":"发布广告","type":1,"updateTime":1735660800000,"userId":3},{"createTime":1735660800000,"id":7,"img":"yun_910_50.png","link":"https://activity.huaweicloud.com/discount_area_v5/index.html?fromacct=261f35b6-af54-4511-a2ca-910fa15905d1&utm_source=aXhpYW95YW5nOA===&utm_medium=cps&utm_campaign=201905","name":"底部","status":9,"txt":"高性能云服务器2折起","type":2,"updateTime":1735660800000,"userId":3}]
JAVA中的访问修饰符,主要用于设置类、属性、方法的访问级别,有以下四种:
修饰符同一个类同一个包子类任何地方
public(公共的)YYYY
protected(受保护的)YYY
default(默认的)YY
private(私有的)Y
1、public修饰符:
public修饰符表示公开的,公共的。不同类、不同包下都可以访问
1个java文件中只可以有一个public修饰的类,并且类名需要和文件名相同
2、protected修饰符
protected修饰符表示受保护的,它主要的作用是保护子类,子类可以用它修饰的成员,其他的不可以
protected修饰符可以被本类、同一个包中的类、不同包中的子类所访问到
protected可以修饰属性、方法,但是不能修饰外部类,可以修饰内部类
3、default修饰符
当定义变量、方法以及类时,没有写访问修饰符,则代表默认的修饰符default
default修饰的属性、方法、类,只能被本类或者同一个包中的其他类访问到,针对本包访问而设计,任何处于本包下的属性、方法、类、接口等,都可以相互访问
注:在接口中,默认的访问修饰符是public
4、private修饰符:
可用来修饰内部类、属性、方法
“私有的”,即被private修饰的属性、方法、类只能被该类的对象访问,其子类不能访问,更不能允许跨包访问
注意:private可以修饰内部类,不可以修饰外部类
实例解析:
首先创建两个包:testPackage1、testPackage2,包下分别创建两个类
Person类中有不同修饰符修饰的属性和方法
Person类内部可以访问Person对象的所有属性和方法
同包的子类c2可以访问Person对象的public、protected、default修饰的属性和方法,无法访问private修饰的内容
同包的子类c2可以访问c2对象的public、protected、default修饰的属性和方法,无法访问private修饰的内容
同一个包下的School类,可以访问Person对象中public、protected、default修饰的属性和方法,无法访问private修饰的内容
不同包的类Person1,只可以访问Person对象Public修饰的内容
不同包的子类School1,只可以访问Person对象Public修饰的内容
不同包的子类School1,可以访问School1对象Public、protected修饰的内容(即从父类Public继承到的内容)
总结:
person对象在不同类中可以访问到的权限如下
权限
person对象在person类中
访问person类的属性方法
person对象在本包的其他类中
访问person类的属性方法
person对象在其他包的类中
访问person的属性和方法
public是是是
protected是是否
default是是否
private是否否
person类的子类在不同包中可以继承到的属性和方法
权限同包子类不同包子类
public是是
protected是是
default是否
private否否