zoukankan      html  css  js  c++  java
  • 20191014Java课堂记录

    1. Java字段初始化的规律

    首先执行类成员定义时指定的默认值或类的初始化块,到底执行哪一个要看哪一个“排在前面”。

    其次执行类的构造函数。

    类的初始化块不接收任何的参数,而且只要一创建类的对象,它们就会被执行。因此,适合于封装那些“对象创建时必须执行的代码”。

    2. 静态方法中访问类的实例成员

    public class Employee {
        String name;
        long salary;
        short employee_id;
        static int total_employees;
        static void clear(){
            total_employees=0;
            //类的静态方法只能访问类的静态成员!
            new Employee().salary=0;
            //在静态方法中访问类的实例变量需首先进行类的实例化
        }
    }

    3. 构造函数不全

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

    错误原因:构造函数 Test.Foo()未定义

    4. 静态初始化块的执行顺序

      1,静态初始化块只执行一次。

      2, 创建子类型的对象时,也会导致父类型的静态初始化块的执行。

    5. 查询已创建对象数目

    public class Test {
        static int testNum = 0;
    
        Test() {
            testNum++;
        }
    
        public static void main(String[] args) {
            System.out.println(testNum);
            Test t = new Test();
            System.out.println(testNum);
    
        }
    }
  • 相关阅读:
    Tinkoff Challenge
    Uva 12298 超级扑克2
    BZOJ 1031 字符加密
    HDU 4944 逆序数对
    51nod 1215 数组的宽度
    LA 3126 出租车
    LA 3415 保守的老师
    51nod 1275 连续子段的差异
    Uva 11419 我是SAM
    LA 4043 最优匹配
  • 原文地址:https://www.cnblogs.com/deepend/p/11673973.html
Copyright © 2011-2022 走看看