public String getOwnerName(){
return ownerName;
}
public void setOwnerName(String newName){
ownerName=newName;
}System.out.println("acouunt name:"+acouunt.getOwnerName());
实在想不明白,最后结尾就调用了一个get,这样子看感觉set方法没什么用啊?
return ownerName;
}
public void setOwnerName(String newName){
ownerName=newName;
}System.out.println("acouunt name:"+acouunt.getOwnerName());
实在想不明白,最后结尾就调用了一个get,这样子看感觉set方法没什么用啊?
puclic class Student {
private String name;
public String getName(){
return Name;
}
public void setName(String Name){
Name=Name;
}
}
Student stuent = new Student();
String name =" 123";
student.setName(name);
这是把name存到student中,
直接访问就是用.(点)具体属性来进行访问。
间接访问是用一个方法来获取这个属性。(这里一般是get和set(这个的命名可以说也是必须这样,算是一个行业命名规范,毕竟你的代码不是给你一个人看的))
前者直接拿来用了,没有中间过程。而后者反而要多走一步路,有个中转过程。为什么会要用到get和set来对这个对象进行赋值和取值,而不用直接用.(点)属性:
因为等你后面学了访问修饰符你就嫩具体理解为什么这样,这里大概说下就是“对数据是封闭的,对扩展是开放的”。
这里举个例子,假如你去公司上班,你设置让人直接能.(出来)。那么别人对你写的内容乱玩,然后导致错误,那么这个锅是你来背。这就是为什么要用这两个方法set来设置值,get来取出值。
假设把你的Class类 比喻成 一个麻袋。 里面的字段 就是麻袋里面的东西get方法 就是相当于从麻袋里面取 东西。 set方法相当于 往麻袋里面放东西。你这里只用了get方法
然后我们来了解一下JAVA面向对象编程中的封闭性和安全性。封闭性即对类中的域变量进行封闭操作,即用private来修饰他们,如此一来其他类则不能对该变量访问。这样我们就将这些变量封闭在了类内部,这样就提高了数据的安全性,当我们想要操作这些域变量怎么办呢?我们可以通过两种方法,第一中即通过public方式的构造器(或称构造函数),对象一实例化就对该变量赋值。第二种就是通过上面提到的set和get方法,这里我举一个特定的例子,我定义一个Person类,该类中有name、age这两个私有域变量,然后我定义setname()、getname()、setage()、getage()这四个方法,通过这四个方法来实现对name和age的操作。这样一来,我不用直接对Person类中的域变量操作,而是通过set和get方法间接地操作这些变量,这样就能提高域变量的安全性,同时又保证了域变量的封装型。最后说说set和get方法的使用场景,一般来说set和get方法都是对私有域变量进行操作的,所以大多数都是使用在包含特定属性的类实体中。
现在你明白set和get方法了吧,其实这两个方法只是类中的setxxx和getxxx方法的总称。
在今后的开发过程中,只要你细心体会,结合JAVA中的一些宏观的知识。set和get方法还是很容易理解的,或许你还会领会一些其他的JAVA中的重要理论知识。
System.out.println("acouunt name:"+acouunt.getOwnerName());