美文网首页
实例变量初始化时机

实例变量初始化时机

作者: 李霖神谷 | 来源:发表于2017-03-14 16:13 被阅读35次

从语法角度上来说,程序可以在三个地方对实例变量进行初始化
--定义实力变量时指定初始化值。
--非静态初始化快对实例变量初始化。
--构造器中对实例变量进行初始化。
其中第一个第二个要在第三个之前执行,一二两个的执行顺序与他们在源代码中的排列顺序相同。

class Cat{
    String name;
    int age;
    
    //使用构造器初始化实例变量
    public Cat(String name, int age) {
        super();
        System.out.println("执行构造器");
        this.name = name;
        this.age = age;
    }
    
    //定义时指定的值
    double weight=2.3;
    {
        System.out.println("执行非静态初始化快");
        weight=210.1;
    }
    @Override
    public String toString() {
        return "Cat [name=" + name + ", age=" + age + ", weight=" + weight + "]";
    }
    
}
public class BianliangDemo{
    public static void main(String[] args) {
        Cat c=new Cat("lishuai",18);
        System.out.println(c);
        Cat c2=new Cat("lishui",8);
        System.out.println(c2);
    }
}

每当程序调用指定的构造器来创建java对象时,该构造器必然会获得先执行的机会,除此之外,该类所包含的非静态初始化块将会获得执行机会,而且总是在构造器执行之前获得执行。

class Person{
    int count =20;
    {
        count=23;
    }
    public Person(){
        System.out.println(count);
    }
}
public class BianDemo {
    public static void main(String[] args) {
        Person p=new Person();
    }
}

count=23;这条语句会被提取到java类的构造器中执行。

相关文章

  • 实例变量初始化时机

    从语法角度上来说,程序可以在三个地方对实例变量进行初始化--定义实力变量时指定初始化值。--非静态初始化快对实例变...

  • 自整理1

    1.java类的实例的初始化过程: 静态变量->静态代码块->main->实例变量->实例初始化块->构造器 加载...

  • 类变量的初始化时机总是处于实例变量的初始化时机之前!

  • Dart - 类(变量声明、构造函数)

    这节详细介绍如何定义类的变量声明和构造方法。 实例变量 下面是声明实例变量的示例: 备忘:"所有未初始化的实例变量...

  • Objective-C实例变量的操作

    对象实例变量的操作 • 实例变量在初始化只做少量设置,如果在程序运行过程中需要设置我们需要对实例变量@public...

  • Java初始化顺序

    Java初始化顺序:①类变量、类方法>②(父类代码)>③实例变量>④构造器当一个类要实例化时,static变量和方...

  • 第7条: 在对象内部尽量直接访问实例变量

    此书作者建议读取实例变量的时候采用直接访问的形式设置实例变量的时候通过属性来做 在初始化方法中应该直接访问实例变量...

  • 2019-03-07

    实例变量:已声明的用来复制的变量类变量:类里面的变量,类里面没有的变量可以在类初始化后在外边声明。实例变量可以用类...

  • Dart 语法概览

    变量 在 Dart 中,未初始化的变量拥有一个默认的初始化值:null所有的变量都是对象的实例,包括整型 内置类型...

  • jvm类加载机制

    首先举个例子final static变量会在jvm启动的时候编译好final 实例变量会在获取实例的时候被初始化好...

网友评论

      本文标题:实例变量初始化时机

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