• Son和Father(代码块,静态代码块,构造方法,实例变量,静态变量)


    上代码(Son和Father)

    public class Father {
    
       private int i = test();
       private static int j = method();
    
       static {
          System.out.print("(1) ");
       }
       Father(){
          System.out.print("(2) ");
       }
       {
          System.out.print("(3) ");
       }
       public int test() {
          System.out.print("(4) ");
          return 1;
       }
       public static int method() {
          System.out.print("(5) ");
          return 1;
       }
    }
    
    public class Son extends Father{
       private int i = test();
       private static int j = method();
    
       static {
          System.out.print("(6) ");
       }
       Son(){
          System.out.print("(7) ");
       }
       {
          System.out.print("(8) ");
       }
       public int test() {
          System.out.print("(9) ");
          return 1;
       }
       public static int method() {
          System.out.print("(10) ");
          return 1;
       }
    
       public static void main(String[] args) {
          Son s1 = new Son();
          System.out.println();
          Son s2 = new Son();
       }
    }
    

    上结果(猜猜看,嘿哈)心塞,本人做了两次了,还是结果不对 ^……^

       (5) (1) (10) (6) (9) (3) (2) (9) (8) (7)
       (9) (3) (2) (9) (8) (7)

    知识点梳理

    1、一个类要创建实例需要先加载并初始化该类;
    	a.main方法所在的类需要先加载和初始化;
    2、一个子类要初始化需要先初始化父类;
    3、一个类初始化就是执行<clinit>()方法;
    	a.<clinit>()方法由静态类变量显示赋值代码和静态代码块组成;
    	b.类变量显示赋值代码和静态代码块从上到下顺序执行;
    	c.<clinit>()方法只执行一次;
    	
    实例初始化过程:	
    1、实例初始化就是执行<init>()方法;
    	a.<init>()方法可能重载有多个,有几个构造器就有几个<init>()方法;
    	b.<init>()方法由非静态实例变量显示赋值代码和非静态代码块组成、对应构造器代码组成;
    	c.非静态实例变量显示赋值代码和非静态代码块代码从上到下顺序执行,而对应的构造器的代码最后执行;
    	d.每次创建实例对象,调用对应构造器,执行的就是对应的<init>()方法;
    	e.<init>方法的首行是super()或super(实参列表),即对应父类的<init>方法;
    	
    
  • 相关阅读:
    回调函数 协程
    网络编程 之线程
    并发编程 之进程相关
    并发编程的理论 python中实现多进程
    基于tcp的粘包处理终极版本
    基于socket的网络编程
    数据分析
    zabbix从入门到放弃
    Linux
    Django
  • 原文地址:https://www.cnblogs.com/kaka-qiqi/p/14533049.html
Copyright © 2020-2023  润新知