Java实例变量在两个语句中声明和初始化

Java实例变量在两个语句中声明和初始化,第1张

Java实例变量在两个语句中声明和初始化

您不能在课程中间使用语句。它必须与声明位于同一块或同一行中。


做您想要的事情的常用方法是:

  • 声明期间的初始化
    public class MyClass{private int i = 0;

    }

通常,如果要为字段定义默认值,则是一个好主意。

  • 构造器块中的初始化
    public class MyClass{private int i;public MyClass(){    this.i = 0;}

    }

如果您希望在字段初始化期间具有一些逻辑(如果/循环),则可以使用此块。它的问题在于,要么您的构造函数将彼此调用,要么它们将具有基本相同的内容。
就您而言,我认为这是最好的方法。

  • 方法块中的初始化
    public class MyClass{private int i;public void setI(int i){    this.i = i;}

    }

这并不是真正的初始化,但是您可以随时设置值。

  • 实例初始化程序块中的初始化
    public class MyClass{private int i;{     i = 0;}

    }

当构造函数不够用时,可以使用这种方法(请参阅构造函数块的注释),但通常开发人员倾向于避免这种形式。



奖励:

这是什么代码?

public class MyClass {    public MyClass() {        System.out.println("1 - Constructor with no parameters");    }    {        System.out.println("2 - Initializer block");    }    public MyClass(int i) {        this();        System.out.println("3 - Constructor with parameters");    }    static {        System.out.println("4 - Static initalizer block");    }    public static void main(String... args) {        System.out.println("5 - Main method");        new MyClass(0);    }}

答案



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5600632.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存