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);
    
        }
    }
  • 相关阅读:
    HDU 1017—A Mathematical Curiosity
    N !
    L
    J
    Danganronpa
    A water problem
    hdu 5461 Largest Point
    India and China Origins hdu 5652 (BFS+二分)
    D (多校训练三) poj1919 (二分)
    Discovering Gold lightoj 1030 (dp+期望)
  • 原文地址:https://www.cnblogs.com/deepend/p/11673973.html
Copyright © 2011-2022 走看看