java定义私有变量 java类中不加修饰的变量默认是否为private?
java类中不加修饰的变量默认是否为private?
不是。private声明以后只有自己类可以使用。public:任何类可以用,无任何限制不加修饰符:一个包内的类可以访问private:只有自己类能使用。如果方法和属性都不加修饰变量得话都是统一的public吧
为什么java需要getter/setter来获取私有属性?
题主好,我来回答这个问题。
首先,通过g/s来获取私有属性的值,是javaBean规范中的一条,主要是为了把对象私有的那点小秘密藏起来,避免被坏人看到。
举例说明,张三是一个对象,张三的钱包是他的一个属性,当然张三为了安全起见,会把钱包藏起来,只有自己能看到,也就是说,钱包是private的。张三还有个坑爹儿子:小三子。因为有了小三子,张三就需要提供一个供小三子领生活费的方法,而不是直接把钱包暴露给小三子。因为,直接暴露给小三子的话,会有以下几个问题:
1、张三控制不住小三子拿钱,万一拿去买了游戏皮肤就不好了;
2、张三有多少钱,都可以被小三子看到,但是很多时候,张三是不希望被小三子看到的(例如私房钱);
3、小三子长大以后给张三生活费,给了多少张三也不知道,就好像得了老年痴呆一样。
总之,通过方法来操作属性的根本目的就是为了保护自己的私有属性,不被外部直接访问。
java定义私有变量 java私有方法怎么调用 怎么调用私有成员变量
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。