为什么要用set,get方法封装字段
2017-04-06 09:52
369 查看
一个属性如果设置public是很危险的,如将人的身高属性设为-1,大家都知道人的身高不能使负值,但对于一个public的属性来说,你无法阻止其他类的胡作非为。
下面来举个小例子
现在输出的结果是(大家应该都明白的):
下面来举个小例子
先来说一个段public的代码
public class Person{ public int height; } ----------------------------------------------- public class Main{ public static void main(String[] args) { Person p = new Person(); p.height=-1; } }
再看一下用set,get方法的好处
public class Person{ private int height; public void setHeight(int height){ public int getHeight() { return height; } public void setHeight(int height) { if(height<=0){ System.err.println("s身高不能是负值"+height); return; } this.height = height; } } -------------------------------------------------------- public class Main{ public static void main(String[] args) { Person p = new Person(); //p.height=-1;因为属性设置成private,所以p.height=-1; p.setHeight(-1); } }
现在输出的结果是(大家应该都明白的):
相关文章推荐
- C#封装:关于字段属性的get和set方法的小总结
- 【封装】java中为什么要将属性进行私有化,又使用set和get方法来设置和获取属性呢?
- SS2H框架中为什么要有两个set和get方法
- 03.黑马程序员-封装-set方法与get方法
- OC 类的封装 set方法和get方法
- 通过封装编写Book类。要求:类具有私有属性书名title、页数pageNum、类型type(默认为计算机类),并为这三个属性分别编写set和get方法。其中,页数不能少于200页,否则输出错误信息,
- 关于JPA封装数据库数据到实体不调用属性的get和set的方法解决办法
- Eclipse get/set方法自动加上字段注释
- 为什么子类不能访问基类的private成员(为什么要使用get,set方法)?为什么要这样设计?
- OC类的封装(set和get方法)
- Eclipse get/set方法自动加上字段注释
- 为什么java要用get,set方法替代域的直接调用?
- Objective-C(二、类与isa指针,类的封装,set&get,类方法,对象方法)——iOS开发基础
- [转]Eclipse get/set方法自动加上字段注释
- Eclipse get/set方法自动加上字段注释
- Eclipse get/set方法自动加上字段注释
- Eclipse get/set方法自动加上字段注释
- 封装、类方法及set/get方法的介绍
- OC基础—————类型的可见度,封装,自定义方法, set 和 get
- 黑马程序员——OC语言------set和get方法(封装)、类方法、self关键字