Java 我可以对尚未在构造函数方法中实例化的atribute执行set方法吗?

Java 我可以对尚未在构造函数方法中实例化的atribute执行set方法吗?,java,oop,methods,attributes,Java,Oop,Methods,Attributes,我正在研究前一段时间开发的(函数式)Java代码,对于给定的类,它的构造方法只显示一个属性,而在代码的后面,有一个set方法用于构造中没有提到的属性 代码结构如下所示: public class A{ public int attribute_1; public int attribute_2; public A(attribute_1){ this._at1 = attribute_1 } ... public void setA

我正在研究前一段时间开发的(函数式)Java代码,对于给定的类,它的构造方法只显示一个属性,而在代码的后面,有一个set方法用于构造中没有提到的属性

代码结构如下所示:

public class A{

    public int attribute_1;
    public int attribute_2;

    public A(attribute_1){
        this._at1 = attribute_1
    }

...

    public void setAttribute_2(int attribute_2){
        this._at2 = attribute_2
    }
}
有人能解释一下为什么会这样吗?
提前谢谢你

不完全清楚问题是什么,但在您给出的示例中,当您调用构造函数时,
属性_1
将具有构造函数参数中给定的值,
属性_2
将为0


稍后,如果调用
setAttribute_2
,则
attribute_2
的值将设置为参数中给定的值。

声明字段时并不总是需要赋值。已声明但未初始化的字段将由编译器设置为合理的默认值。一般来说,对于int数据类型,此默认值将为零以获取更多详细信息


因此,当您指定值时,这并不重要。这仅适用于实例/类变量。而如果在局部方法/函数中有任何局部变量,则必须用value声明和初始化。

如果在构造过程中未赋值,int的默认值为0。请您阅读java中对象的初始化

构造实例时,将默认值(int 0)指定给属性_2。