zoukankan      html  css  js  c++  java
  • Java课后学习(二)

      执行下段代码:

     1 public class Practice {
     2     public static void main(String[] args) {
     3         InitalizeBlockClass obj = new InitalizeBlockClass();
     4         System.out.println(obj.field);
     5         
     6         obj = new InitalizeBlockClass(300);
     7         System.out.println(obj.field);
     8     }
     9 }
    10 class InitalizeBlockClass{
    11     //public int field = 100;   若该语句写在这里,第一次输出值为200
    12     {
    13         field = 200;
    14     }
    15     public int field = 100;
    16     public InitalizeBlockClass(int value) {
    17         this.field = value;
    18     }
    19     public InitalizeBlockClass() {
    20         
    21     }
    22 }

    如代码所示,100(定义)写在200(初始化块)后面,最终执行结果是100,当二者顺序对调时,输出结果是200。因此,在执行Java代码时,类字段初始化时,成员定义默认值与初始化块,执行哪一个需要看其顺序,最终执行是排在后面的那个;第二次输出是调用了有参数的构造方法,因此类字段初始化关于构造方法执行时,只需要根据声明时是否带有参数判断执行哪一个构造方法,再执行即可。

  • 相关阅读:
    (五)Ajax修改购物车单品数量
    (四)加入购物车和购物车操作
    flask blueprint
    2.1.2 BCD码
    2.1.1进位计数制
    1.2.3 计算机系统的层次结构
    flask的宏 macro
    计算机组成原理习题
    flask模版继承和include
    flask自定义过滤器
  • 原文地址:https://www.cnblogs.com/20183711PYD/p/11692129.html
Copyright © 2011-2022 走看看