get和set就是java中的封装技术。首先我们需要知道,一旦一个变量被“private”私有化了,那么在其他类文件就不能引用(使用)它。使用“private”是把被使用的变量保护起来,使别人不知道这个变量的名称是什么,有保护的作用。
而set和get就是在和“private”私有化的变量在同一个类文件中,set和get是“public”共有的,也就是说这两个方法是可以被在其他类文件中使用的。set方法的意思是定义一个方法含一个参数,把所含有的这个参数(后期自己设置)赋给你需要私有化的变量(在当前类中设置),相当于充当媒介,外界想要改变已经“private”私有化的变量,必须要在其他类文件中给方法set一个参数,通过set变量来更改。
set的名字可以随便取,如此一来其他类中根本不知道在另一个类中“private”私有化的变量名称,也不能直接更改。get则是获取这个私有化的变量值。是定义了一个带返回类型的方法,这个返回类型就是已经被你私有化变量的类型。以题目为例,你私有化了String类型的name,那么get方法的返回类型就是String类型,同时返回当前类中name的值。
这样一来在其他类文件中,可以通过set方法来给和更改另一个类中的加密变量值,可以通过get来获取另一个类中加密的变量值,而这个被加密的变量则变量名始终没有人知道。
例:
package com.xuenixiang.web;
public class FengZhuang {
String name;
String address;
private int age;
public void age() {
System.out.println("学逆向论坛"+age+"岁了");
}
public void setage(int age) {
this.age=age;//提供接口,访问私有属性
}
public int getage(){
return this.age;//提供接口,输出属性内容
}
}
package com.xuenixiang.web;
public class FengZhuangTest {
public static void main(String[] args) {
FengZhuang xnx=new FengZhuang();
xnx.setage(10);
System.out.println("我的网站"+xnx.getage()+"岁了");
}
}
运行结果: