课程
/后端开发
/Java
/Java入门第二季 升级版
直接把属性私有化,通过set方法设置值。
和属性公有化,直接赋值有什么区别。
2016-09-15
源自:Java入门第二季 升级版 7-1
正在回答
公有化的属性,当面向对象时,用户可以随意的更改你的数据,而设置set和get方法,可以有效的防止用户随意的更改,也就是说用户只能在你设置的条件范围内才能更改你的数据。
当然如果你仅仅是自己用,而不是用于前端的话,说没区别也是可以的
慕粉9 提问者
这样写的话是没有什么区别,但是如果你可以在set函数里面加一些限制条件的话,就起到一定的保护作用
public String name;//这个公有化的name属性,直接可以赋值 public void get(String name) { name="123"; }
private String name;//这个私有化的name属性,公有化的set方法,通过set可以设置值,set是公有的,那和直接设置公有化的属性有什么区别 public String getName() { return name; } public void setName(String newName) { name=newName; }
第一种方法下,不设置set方法话,外界无法对该属性实行操作,
第二种的话,可以直接对该属性进行操作。
使用第一种方法是为了实现数据的封装,对数据采取的一种保护措施
举报
课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙
5 回答变量和属性有什么区别?
7 回答Java中变量和属性有什么区别呢
2 回答构造方法和方法有什么区别呢?
1 回答构造方法和方法有什么区别,这两个和C语言的函数又有什么区别
3 回答请问类的属性和类中的变量有什么区别?