访问对象数据

https://www.13419.com/j2se/586945.html

这是出于安全性方面的考虑:如果变量没有声明为private类型,使用对象名.变量名时,在其它类中可以很简单的修改改类的属性值。如果不希望类的属性有所改变,那么就把变量声明为private类型的,而且没有相应的set()方法,这样在其它类中只能引用该类的属性,而不能进行修改。
对于(2)的回复:
    如果将一个变量声明为类属变量,一般将其设置为static 类型的,这样就可以直接通过类名.类属变量名 进行访问。从本质上来说,将一个变量声明为static类型的,一般是各对象的公有属性,或者说是为了解决共享问题,这就需要在设计类时对属性有一个深入的理解。
   如果将一个变量声明为private 类型时,要想通过对象访问,得看这个对象是在类内还是在类外,如果在类外,那就不能通过对象名.变量名进行访问。

1 对象名.实例变量设置为私有属性,为的是不让别的地方修改它 用set get方法来替代。可以google下详细解释。
2 静态变量直接用类.变量来访问 在同一作用域内定义2个相同的变量 肯定编译通不过!
3 类中变量设置为private 是只有类自己才能访问 生成set get方法就是为了别的地方能使用!类中对象也可以这么用!

1.get()方法是实例变量的属性,在java里类实例变量一般是private,而其属性是一般是public的,如果没有set(..)方法,那么这个实例变量只能取不能改了,目的是为了防止任意的改动,保证了数据的安全和稳定。
2.类变量可以用get()方法,但这个方法也必须是static的,因为调用静态变量的方法必须是静态方法,至于为什么要用Get()方法,目的和上面一样;
类变量和实例变量不能同名,确保类元素的唯一性至关重要;
3.类的访问权限和实例的类的访问权限不一样,原因如下
假设你的类是public Class Test的,那么你在工程中其他包的类方法创建了一个类的实例private Test T=new Test();说明这个实例是方法内私有的,如果你在类内设定public Test T=new Test();那么这个实例和类的访问权限是一样的了,工程内就可见,只要有类的实例就有这个实例;
如果类里的变量是private的 那么只有这个类内部可见,无论是它的继承类,类的实例还是别的都不能访问这个变量

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值