java访问权限 private public protected 默认

对数据或方法保护可以通过设定访问权限来实现
访问权限的概念
访问权限是指对对象中成员访问的 限制。通过设定访问权限,能够或不能够访问某些成员,从而对成员起到保护作用。
java中有三个访问限定词,分别是private(私有的),protected(保护的)和public(公有的)。访问限定词放在属性或方法之前,可以设定属性和方法的访问权限,当然前面也可以没有访问限定词,如果没有,则属性和方法的权限是默认的或有好的。
访问权限只是在类体之外对属性或方法访问的限制,在类的内部,任何一个方法都可以直接访问本类中其他的属性和方法,没有限制

private 私有域和私有方法
在域或方法前加private,私有的域或方法只能被其所在类中的方法访问或调用,在类体之外不能通过对象名直接访问。私有域或方法具有最高的保护权限。
public 公有域和公有方法
在域或方法前加public,表示域或方法时公有的。对于公有成员,类之外的方法可以访问,在类之外通过对象名访问公有的域和方法,可以被同一包中的子类方法或不同包中的子类方法直接访问。总之,公有成员在程序任何地方都可以被访问。公有的方法可以看做是对象与外界的接口
protected 保护的域和保护的方法
在域或方法前加protected,表示域或方法的访问权限是保护的。
保护的成员可以被所在类的其他方法访问;被子类继承后,可以被子类中的其他方法直接访问;在同一个包中,可以通过对象名直接访问;不是同一个包中的非子类,不能通过对象名直接访问。
默认访问权限的域或方法
在域或方法前面不加任何访问限定词,访问权限就是默认的。默认访问权限的域或方法可以被类中的其他方法访问,在这个类所在的包中,可以在类体之外通过对象名直接访问。默认的域或方法具有包的访问权限,利用包的访问权限,可以提高访问的灵活性

  • private :同一个类
  • 默认的:同一个类 同一个包
  • protected: 同一个类 同一个包 不同包的子类
  • public: 所有

使用访问权限时
一般应该将域定义为private(因为数据是重要的),以防止对象的域值被随意更改。
方法一般定义为public,让公有方法成为对象和外界进行数据交流的窗口(接口),如果将方法定义为private,则对象就无法与外界联系,成为一个鼓励对象,孤立对象没有存在的意义。
如果类成员不希望被类体外其他的类通过对象被访问,而又希望能被子类直接访问,应该定义为protected.

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值