初始化

作者: 筑梦丶 | 来源:发表于2018-10-06 16:46 被阅读0次

  Java编译器并不是简单的为每个引用都创建一个默认对象,如果想初始化这些引用可以在代码中的下列位置进行:
1.在定义对象得地方,这意味着他们总是能够被构造器调用之前被初始化。
2.在类的构造器中。
3.就在正要使用这些对象之前,这种方式称为惰性初始化,在生成对象不值得级不必每次生成对象的情况下,减少额外的负担。
4.使用实例初始化。

class Soap {
    private String s;

    Soap() {
        System.out.println("Soap()");
        s = "Constructed";
    }

    @Override
    public String toString() {
        return s;
    }
}

public class Bath {
    private String 
            s1 = "Happy", // 定义初始化
            s2 = "Happy",
            s3, s4;
    private Soap castile;
    private int i;
    private float toy;

    public Bath() {
        System.out.println("Inside Bath()");
        s3 = "Joy";
        toy = 3.14f;
        castile = new Soap(); // 在类的构造器中被初始化
    }

    {
        i = 47; // 实例初始化
    }

    @Override
    public String toString() {
        if (s4 == null) 
            s4 = "Joy"; // 惰性初始化
        return "s1 = " + s1 + "\n" +
                "s2 = " + s2 + "\n" +
                "s3 = " + s3 + "\n" +
                "s4 = " + s4 + "\n" +
                "i = " + i + "\n" +
                "toy = " + toy + "\n" +
                "castile = " + castile;
    }

    public static void main(String[] args) {
        Bath b = new Bath();
        System.out.println(b);
    }
} /* Output:
Inside Bath()
Soap()
s1 = Happy
s2 = Happy
s3 = Joy
s4 = Joy
i = 47
toy = 3.14
castile = Constructed
*///~

相关文章

  • Swift 5.1 (14) - 初始化和反初始化

    Swift 5.1 (14) - 初始化和反初始化Swift 5.1 (14) - 初始化和反初始化

  • 字符串初始化方式比较

    初始化方法一: 用new String初始化的存储方式: 初始化方法2: 用"="初始化的存储方式: 此方法初始化...

  • 2020-07-21 类属性和对象属性 初始化

    对象属性初始化有3种方式: 声明对象属性时初始化 在构造方法中初始化 在初始化块中初始化 类属性初始化有2种方式:...

  • Swift5.1学习随笔之初始化器

    初始化器 类、结构体、枚举都可以定义初始化器(init) 类有2种初始化器:指定初始化器、便捷初始化器 指定初始化...

  • javaSE回顾_05

    数组: 静态初始化: //静态初始化 int[] a = {1,2,3}; 动态初始化: //动态初始化 int[...

  • 第3章 标准库类型string、vector、数组

    1.string的几种初始化方式 直接初始化与拷贝初始化拷贝初始化使用=,而直接初始化不使用 2. cbegin ...

  • 重捡Java(十二)类与对象 属性初始化

    对象属性初始化 对象属性初始化有3种1. 声明该属性的时候初始化2. 构造方法中初始化3. 初始化块 类属性初始化...

  • 十二、初始化

    初始化 类、结构体、枚举都可以定义初始化器 (本章主要讲类的初始化) 类有2种初始化器 指定初始化器 便捷初始化器...

  • [C++之旅] 11 初始化列表

    [C++之旅] 11 初始化列表 初始化列表的特性 初始化列表先于构造函数执行 初始化列表只能用于构造函数 初始化...

  • Swift的初始化

    一、初始化器 指定初始化器 1、指定初始化器是主要的初始化器,每个类至少有一个指定初始化器。2、默认初始化器总是类...

网友评论

      本文标题:初始化

      本文链接:https://www.haomeiwen.com/subject/hauhaftx.html