#在学习java时,在测试类里面为什么没有写set却能够正确调用get.
#这是代码
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Test1[] arr=new Test1[3];//汽车数组
//输入信息
for (int i = 0; i < arr.length; i++) {
Scanner sc = new Scanner(System.in);
System.out.println("品牌");
String brand1 = sc.next();
System.out.println("价格");
double price1 = sc.nextDouble();
System.out.println("颜色");
String color1 = sc.next();
Test1 c = new Test1(brand1, price1, color1);
arr[i]=c;
}
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i].getBrand()+","+arr[i].getColor()+","+arr[i].getPrice());
}
}
}
为什么我没有写 XX.setBrand(brand1).
下面却能够正常调用getBrand.
设值不是通过setBrand方法,是通过new Test1传的三个参数,所以不需要再set
test类都得到新的值了,所以get可以
set方法和get方法是两个独立的方法啊,你在初始化Test1类的时候,通过构造方法传入的参数,里面就有值了,
另外就算没有通过构造方法传入值,也会有默认值的
get方法用于获取类中的属性值,set方法用于设置类中的属性值,构造器用于创建新对象和初始化对象的状态。
因为你的代码中使用的是一个设置变量的构造函数,它自动将参数传入到对象的属性中。