初始化对象的正确方法是什么?
What is the right way to initialize objects?
假设我们有这个玩家 class。
这样做比较好:
public class Player
{
public Vector2 position = new Vector2();
public Player()
{}
}
或者这个:
public class Player
{
public Vector2 position;
public Player()
{
position = new Vector2();
}
}
或者根本不重要?我喜欢第一种方式,因为这样代码会更清晰
如果 position
可以在不引用传递给构造函数的任何参数的情况下创建,则第一种方法更好。在这个特定实例中是正确的。
如果您需要多个构造函数,它可以避免重复代码。尽管您可以在 Java 中委托构造函数,但第一种方法仍然是更清晰的方法。
在constructor里面初始化position的目的是当你需要给它赋值的时候。
例子
public class Player
{
public Vector2 position;
public Player(Vector2 pos)
{
position = pos;
}
}
在构造函数中初始化它没有任何区别,但违背了这样做的目的。
假设我们有这个玩家 class。
这样做比较好:
public class Player
{
public Vector2 position = new Vector2();
public Player()
{}
}
或者这个:
public class Player
{
public Vector2 position;
public Player()
{
position = new Vector2();
}
}
或者根本不重要?我喜欢第一种方式,因为这样代码会更清晰
如果 position
可以在不引用传递给构造函数的任何参数的情况下创建,则第一种方法更好。在这个特定实例中是正确的。
如果您需要多个构造函数,它可以避免重复代码。尽管您可以在 Java 中委托构造函数,但第一种方法仍然是更清晰的方法。
在constructor里面初始化position的目的是当你需要给它赋值的时候。
例子
public class Player
{
public Vector2 position;
public Player(Vector2 pos)
{
position = pos;
}
}
在构造函数中初始化它没有任何区别,但违背了这样做的目的。