Java 类的字段初始化
对不起,如果这个问题很琐碎 有两种初始化字段的方法 例如: 第一种方法是:Java 类的字段初始化,java,oop,constructor,Java,Oop,Constructor,对不起,如果这个问题很琐碎 有两种初始化字段的方法 例如: 第一种方法是: Public class A{ int a; A(){ a = 5; } } 第二种方式是: Public class A{ int a = 5; A(){ } } 哪条路更好?为什么?这取决于你想要什么 如果您只有一个构造函数,那么这并不重要,因为无论哪种方式,该值都将启动一个0。如果您有多个构造函数,这仍然不重要,但最好按以下方式执行: int a;
Public class A{
int a;
A(){
a = 5;
}
}
第二种方式是:
Public class A{
int a = 5;
A(){
}
}
哪条路更好?为什么?这取决于你想要什么 如果您只有一个构造函数,那么这并不重要,因为无论哪种方式,该值都将启动一个0。如果您有多个构造函数,这仍然不重要,但最好按以下方式执行:
int a;
A() {
a = 0;
}
A(int newA) {
a = newA;
}
当我个人开发时,我将仅在以下情况下在顶部分配值:
我分配的变量是常量。
变量具有某种默认值,这种默认值可以而且通常会更改。
两种方法都是正确的 如果您不想重复下面代码中所示的代码,请选择第二种方式:
public class A{
int a;
A(){
a=5;
}
A(String s){
a=5;
}
A(Long l){
a=5;
}
}
public class A{
int a = 5;
A(){
}
A(String s){
}
A(Long l){
}
}
在第二种情况下,不必为所有重载构造函数初始化它
现在取决于您的选择。是否初始化基元int始终为“0”。如果在声明过程中坚持使用常量默认值初始化,则最好使用声明。如果希望在初始化对象时传递值,请使用构造函数。默认情况下,实例变量已初始化。int为零。@Braj如果开始时a=5怎么办?我错了,我先看了答案。我喜欢这个原因:如果你不想重复下面代码中所示的代码,而不是使用a,我想应该不是a{this.a=a;}。请检查一下,谢谢,我已经改正了。