zoukankan      html  css  js  c++  java
  • 动手动脑(10.14)

    一、

    public class Test{
    
      public static void main(String[] args) {
       Fool obj1=new Foo();
    }
    }
    class Foo{
       int value;
       public Foo(int initValue){
        value=initValue;
    }
    }

    以上代码无法通过编译,是因为类Foo是有参的,所以在引用的时候缺少参数。

    结论:如果类提供了一个自定义的构造方法,将导致系统不再提供默认的构造方法。

     二、

    public class InitializeBlockClass {
        {
            field=200;
        }
        public int field=100;
        public InitializeBlockClass(int value){
            this.field=value;
        }
        public InitializeBlockClass() {
        }
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            InitializeBlockClass obj=new InitializeBlockClass();
            System.out.println(obj.field);
            obj=new InitializeBlockClass(300);
            System.out.println(obj.field);
            }
    }

    执行结果为

    结论:1、执行类成员定义时指定的默认值或类的初始化块,到底执行哪一个要看哪一个排在前面。2、执行类的有参构造函数是就执行里面的语句。

    三、静态初始化块的执行顺序:

    1、静态初始化块只执行一次;2、创建子类的对象时,也会导致父类型的静态初始化块的执行

  • 相关阅读:
    2017-7-17/18 背包dp cf round 417 div2
    poj3667-Hotel-线段树-区间合并
    STL 总结
    c++ 用freopen简单的重定向,再也不怕debug了~
    dynamic programming 从入门到放弃
    java 输入数据
    数位dp
    ECJTU 2018 Summer Training 5
    ECJTU 2018 Summer Training 2
    dfs和bfs专题
  • 原文地址:https://www.cnblogs.com/tianwenjing123-456/p/11695492.html
Copyright © 2011-2022 走看看