一个类的成员变量被封装起来,可以在创建对象的时候直接赋值嘛
可以用构造函数参数传递。比如
class A
{
private int x;
private int y;
public A(int x, int y) { this.x = x; this.y = y; }
}
那么
A a = new A(1, 2);
类的构造函数实例化对象(使用new关键字)时调用,可以在构造函数中初始化对象的各个属性。
public class Employee {
private String firstName = null;
private String lastName = null;
private int birthYear = 0;
public Employee(String first,
String last,
int year ) {
firstName = first;
lastName = last;
birthYear = year;
}
}
get/set在Java、C#语言中普遍使用,最核心的意图是保护类私有成员。
构造函数可以初始化变量,这个我们都清楚。
但是很多时候我们在构造函数中给私有变量赋值时,会直接给私有变量赋值,这其实就破坏了Java的封装特性。
一般正确的做法是在构造函数中调用set函数给私有变量进行赋值。
还有一点需要了解的是,我们赋值可以在创建对象的时候赋值(使用构造函数),也可以在创建对象后进行辅助,
但是,当我们创建一个对象,并且该对象创建完后不能对他再进行更改的时候,就必须在构造函数中赋值