新人Java问题,为啥我没有视频里面的get方法我完完全全按照他的来敲的?(java类中为什么要用get和set方法,高人能简单解答下吗)
- java类中为什么要用get和set方法,高人能简单解答下吗
- 关于java中很多人用get()和set()方法,而不用public的一点总结
- java set有get方法吗
- Java中的get和set方法究竟是什么意思
java类中为什么要用get和set方法,高人能简单解答下吗
面向对象中,想对类的成员变量设置访问一些权限,于是,就将该字段设置为private的,这样别的类就不能访问了,然后在该内定义两个方法,一个专门用于获取,一个用于修改,这样,在你不想让别人乱动该字段的时候,就在该方法内写一些限制条件。
而为了规范起见(团队开发需要嘛),就根据人家老外的习惯,将方法名设置为set+字段名,get+字段名(名字乱改没问题),既然规范了,那就是别人都叫这名了,于是,有些框架给对象赋值就有方法了,方法名称由get或set开始的又有private变量名的,就找出来调用。hibernate1框架就这样。
//一个简单的例子 get的时候我需要做逻辑处理,满足怎么处理不满足又怎么处理等等..都有可能。set也可以有类似的逻辑处理,比如赋值的时候如果为null 那么我就给默认值 A 等等
public String getGoodsTypeModels(boolean is) {
//我这里直接写在了方法中了,变量也可以写成 全局的 当然也可给变量设置访问权限,因为方法在同一个类中 所以可以访问方法中的所有变量。
String str1 = "AA";
String str2 = "BB";
if(is){
return str1;
}else{
return str2;
}
}
关于java中很多人用get()和set()方法,而不用public的一点总结
兄弟看你是犯强迫症了吧.
被我说中了吧.
都是一样的人,也没有必要太丢丢 .
其实你想啊.有一个学生类是这样的.
public class Student{
public int score;
}
哎,人家一看这个类也太开放了,我欺负欺负你.然后创建一个学生,叫小明
Student xiaoMing =new Student();
开始欺负他了:
xiaoMing.score=-60;
太过分了,作为一个学生,不及格就是一种极大的耻辱了,竟然还给我了负分数,小明一向调皮,但这也欺人太甚.
于是小明努力学习编程.修改了这个学生类.
public class Student{
private int score;
public void setScore(int score){
this.score=score;//给我多少算多少
if(score<0){//但是给我个负数欺负我,我就
score=60;//给我来个60分
}
public int getScore(){
return this.scroe;
}
}
当有人来调用这个类的时候,只能是这样了:
Student xiaoMing=new Student();
xiaoMing.setScore(-60);//给我个负数试试
int score= xiaoMing.getScore();
System.out.println(score);
//结果应该是:
60 //给的再少我也能及格..
哈哈..
纯手打的.好累呀.别较真了,兄弟..
java set有get方法吗
你想问的应该是:java.util.Set 有没有像 list 一样的get方法吧?
答案是没有;
List特点:元素有放入顺序,元素可重复
Set特点:元素无放入顺序,元素不可重复
List的get方法需要下标,其实也就是放入顺序,由于Set没有放入顺序,所以这应该就是没有给Set设计get方法的原因吧
(扩展:在Set中的位置是由元素的HashCode决定的,位置其实是固定的)
要取Set的值,一般是用iterator() 方法获取迭代器进行操作,也可以用toArray()方法转成数组来操作。
Java中的get和set方法究竟是什么意思
get成员方法和set成员方法分别用于读取和设置私有变量的值
一般建议将有特殊限制的成员域的访问控制方式设置为私有模式。这时,可以添加两个成员方法分别读取和设置这个具有特殊限制的成员域的值。在这两个成员方法中,由于读取该成员域的值的成员方法的名称通常含有字符序列“get”,因此该成员方法通常简称为“get”成员方法;而设置该成员域的值的成员方法的名称通常含有字符序列“set”,因此该成员方法通常简称为“set”成员方法。
这样可以加强程序的封装性和安全性,外部程序不能直接访问私有变量,只能通过get成员方法和set成员方法读取和设置私有变量的值。