一、get()方法
get方法用于获取对象的私有属性值,并返回该值。通常,get方法的名称以"get"开头,后面跟着属性名的首字母大写的形式。例如,如果属性名为"name",那么get方法的名称为"getName"。get方法的实现通常很简单,只需返回对象的属性值即可。
二、set()方法
set方法用于设置对象的私有属性值。通常,set方法的名称以"set"开头,后面跟着属性名的首字母大写的形式,并接受一个参数,即要设置的属性值。例如,如果属性名为"name",那么set方法的名称为"setName",并接受一个字符串类型的参数,即要设置的名称。set方法的实现通常也很简单,只需将传递进来的参数赋值给对象的属性即可。
示例:
public class Person1 {
//用private来修饰属性
private int num;
private String name;
private int price;
public Person1(){}
//给属性增加get、set方法
public int getNum(){
return num;
}
public void setNum(int num){
this.num = num;
}
public String getName(){
return name;
}
public void setName(String name){
this.name = name;
}
public int getPrice(){
return price;
}
public void setPrice(int price){
this.price = price;
}
}
public class Person2 {
public static void main(String[] args){
//创建Person1对象
Person1 p1 = new Person1();
//给Person1的对象属性赋值
p1.setNum(2);
// p1.num = 2;//不能这样赋值,因为Person1里面的修饰符是private
p1.setName("张三");
p1.setPrice(23);
//输出Person1的对象属性
// System.out.println("num:" + p1.num + "name:" + p1.name + "price:" + p1.price());//这样拿不到值,会报错。
System.out.println("num:" + p1.getNum() + "\nname:" + p1.getName() + "\nprice:" + p1.getPrice());
}
}
运行结果:
使用get和set方法的好处有:
封装性:get和set方法可以将对象的属性设置为私有,从而提高代码的封装性,避免外部代码直接访问对象的属性。
可控性:get和set方法可以控制属性的访问方式,从而使对象更加可控。
可扩展性:如果需要对属性进行修改或增加其他逻辑,可以通过修改get和set方法来实现,而不必改变其他代码。
使用get和set方法要注意:
命名规范:get和set方法的名称必须符合Java的命名规范,以“get”或“set”开头,属性名称的首字母要大写。
参数类型:set方法必须接受一个
与属性相同类型的参数,用于设置属性的值。
返回值类型:get方法必须返回与属性相同类型的值,用于获取属性的值。
访问权限:为了提高封装性,属性通常应该被声明为私有的,而get和set方法应该具有public访问权限,以便其他代码可以访问它们。
不一定需要get和set方法:并非所有属性都需要get和set方法。如果属性不需要在类的外部访问或修改,可以将其声明为私有的,而不提供get和set方法。