zoukankan      html  css  js  c++  java
  • java类的初始化和实例化

    1、面试题

    Father.java

    package org.example.classinit;
    
    public class Father {
        private int i = test();
        private static int j = method();
    
        static {
            System.out.println("Father 静态块 = (1)");
        }
    
        public Father(){
            System.out.println("Father 构造器 = (2)");
        }
    
        {
            System.out.println("Father 代码块 = (3)");
        }
    
        private int test() {
            System.out.println("Father 成员方法 test() = (4)");
            return 0;
        }
        private static int method() {
            System.out.println("Father 类方法 method() = (5)");
            return 0;
        }
    }
    
    

    Son.java

    package org.example.classinit;
    
    public class Son extends Father{
        private int i = test();
        private static int j = method();
    
        static {
            System.out.println("Son 静态块 = (6)");
        }
    
        public Son(){
            System.out.println("Son 构造器 = (7)");
        }
    
        {
            System.out.println("Son 代码块 = (8)");
        }
    
        private int test() {
            System.out.println("Son 成员方法 test() = (9)");
            return 0;
        }
        private static int method() {
            System.out.println("Son 类方法 method() = (10)");
            return 0;
        }
    }
    
    

    SonTest.java

    package org.example.classinit;
    
    
    import org.junit.Test;
    
    public class SonTest {
    
        @Test
        public void test01(){
            Son s1 = new Son();
            System.out.println("-------------");
            Son s2 = new Son();
    
        }
        
    }
    

    2、结果

    Father 类方法 method() = (5)
    Father 静态块 = (1)
    Son 类方法 method() = (10)
    Son 静态块 = (6)
    Father 成员方法 test() = (4)
    Father 代码块 = (3)
    Father 构造器 = (2)
    Son 成员方法 test() = (9)
    Son 代码块 = (8)
    Son 构造器 = (7)
    -------------
    Father 成员方法 test() = (4)
    Father 代码块 = (3)
    Father 构造器 = (2)
    Son 成员方法 test() = (9)
    Son 代码块 = (8)
    Son 构造器 = (7)
    
  • 相关阅读:
    java之day4补充
    java之day4
    JAVA之day3对象
    JAVA之DAY3
    JAVA之DAY2
    element-ui表格添加复选框及根据列表中的数据判断是否可选
    h5手机端上传多张图片(界面上的展示图片,删除图片)
    模态框-开启关闭事件
    Vue-粒子特效(vue-particles)
    网页常用代码片段-sessionStorage存储JSON
  • 原文地址:https://www.cnblogs.com/zhaoxxnbsp/p/12843236.html
Copyright © 2011-2022 走看看