既然java反射可以访问和修改私有成员变量,那封装成private还有意义么?
我很高兴回答你的问题。
一般来说,隐私只是一种协议。
java中,子类不可以访问父类的私有成员和受保护的成员。对错?
错误,子类不能访问父类的私有成员,但可以访问父类的受保护成员
受保护的访问作用域是子类
私有只能是此类
公共可以是子类并且可以在同一个包中访问。
为什么java需要getter/setter来获取私有属性?
好问题。我来回答这个问题。
。
例如,张三是一个对象,而张三的钱包是他的属性之一。当然,为了安全起见,张三把钱包藏起来,只有他自己才能看到。换句话说,他的钱包是私人的。张三还有一个儿子:小三子。有了小三子,张三需要给小三子提供一个领取生活费的途径,而不是直接把钱包暴露给小三子。因为,直接接触小三子,会出现以下问题:
1。张三控制不住小三子的拿钱,万一他买了游戏,他的皮肤会变差的。张三有多少钱可以被小三子看到,但很多时候,张三不想被小三子看到(比如私房钱)。小三子长大后,他会给张三生活费和钱,我不知道我有多少本,就像我得了老年痴呆症一样。
总之,通过方法操作属性的根本目的是保护自己的私有属性不被外部直接访问。
java里一个私有的属性如何在其他类里面进行访问?
主要有两种方法:第一种方法是为类中的私有属性提供get和set方法。
secondpinmethod
如果无法提供get和set方法,请使用反射来获取它们。java中的封装可以被反射打破。
java中私有属性private能被子类继承吗?
只有在类定义下,类对象(实例)才能直接访问类的私有成员。具体原因我干脆百度,结合我浅薄的知识,有这样一个猜想:私有(privatedomain)就是指这种范围。也就是说,testc{privatedomain}中定义的成员。方法在此域中可见。与{}中定义的局部变量相比,它们只在{}(java)中可见。注意一个问题。由于子类继承问题,java直接使用扩展继承,所以基类的私有域实际上就是子类的私有域。我的猜测很可能是错的。我们就扔块砖引玉吧。
原文标题:java私有方法怎么调用 既然Java反射可以访问和修改私有成员变量,那封装成private还有意义么?,如若转载,请注明出处:https://www.saibowen.com/tougao/22015.html
免责声明:此资讯系转载自合作媒体或互联网其它网站,「赛伯温」登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,文章内容仅供参考。