• 对象下—举例二、三


    LeafTest.java

    package com.atguigu.java3;
    //总结:由父及子,静态先行
    class Root{
    	static{
    		System.out.println("Root的静态初始化块");
    	}
    	{
    		System.out.println("Root的普通初始化块");
    	}
    	public Root(){
    		super();
    		System.out.println("Root的无参数的构造器");
    	}
    }
    class Mid extends Root{
    	static{
    		System.out.println("Mid的静态初始化块");
    	}
    	{
    		System.out.println("Mid的普通初始化块");
    	}
    	public Mid(){
    		super();
    		System.out.println("Mid的无参数的构造器");
    	}
    	public Mid(String msg){
    		//通过this调用同一类中重载的构造器
    		this();
    		System.out.println("Mid的带参数构造器,其参数值:"
    			+ msg);
    	}
    }
    class Leaf extends Mid{
    	static{
    		System.out.println("Leaf的静态初始化块");
    	}
    	{
    		System.out.println("Leaf的普通初始化块");
    	}	
    	public Leaf(){
    		//通过super调用父类中有一个字符串参数的构造器
    		super("尚硅谷");
    		System.out.println("Leaf的构造器");
    	}
    }
    public class LeafTest{
    	public static void main(String[] args){
    		new Leaf(); 
    		System.out.println();
    		new Leaf();
    	}
    }
    
    

    运行结果

    Root的静态初始化块
    Mid的静态初始化块
    Leaf的静态初始化块
    Root的普通初始化块
    Root的无参数的构造器
    Mid的普通初始化块
    Mid的无参数的构造器
    Mid的带参数构造器,其参数值:尚硅谷
    Leaf的普通初始化块
    Leaf的构造器
    
    Root的普通初始化块
    Root的无参数的构造器
    Mid的普通初始化块
    Mid的无参数的构造器
    Mid的带参数构造器,其参数值:尚硅谷
    Leaf的普通初始化块
    Leaf的构造器
    

    son.java

    package com.atguigu.java3;
    
    class Father {
    	static {
    		System.out.println("11111111111");
    	}
    	{
    		System.out.println("22222222222");
    	}
    
    	public Father() {
    		System.out.println("33333333333");
    
    	}
    
    }
    
    public class Son extends Father {
    	static {
    		System.out.println("44444444444");
    	}
    	{
    		System.out.println("55555555555");
    	}
    	public Son() {
    		System.out.println("66666666666");
    	}
    
    
    	public static void main(String[] args) { // 由父及子 静态先行
    		System.out.println("77777777777");
    		System.out.println("************************");
    		new Son();
    		System.out.println("************************");
    		new Son();
    		System.out.println("************************");
    		new Father();
    	}
    
    }
    
    

    运行结果
    11111111111 //1
    44444444444
    77777777777


    22222222222
    33333333333
    55555555555
    66666666666
    ***********************//2
    22222222222
    33333333333
    55555555555
    66666666666
    ***********************//3
    22222222222
    33333333333

  • 相关阅读:
    elementUI form select验证问题
    Echart--基本属性
    Echart--饼状图
    Echart--折线图
    Echart--多个柱形图
    Echart--单个柱形图
    Echart--圆型图
    构析函数和构造函数
    心情
    图片
  • 原文地址:https://www.cnblogs.com/fenxiangyuan/p/14394374.html
Copyright © 2020-2023  润新知