zoukankan      html  css  js  c++  java
  • 对象下—举例二、三

    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

  • 相关阅读:
    Ubuntu apt-get 失败验证
    网络服务器处理阻塞问题
    58、剑指offer--对称的二叉树
    57、剑指offer--二叉树的下一结点
    56、剑指offer--删除链表中重复的结点
    55、剑指offer--链表中环的入口结点
    54、剑指offer--字符流中第一个不重复的字符
    53、剑指offer--表示数值的字符串
    52、剑指offer--正则表达式匹配
    51、剑指offer--构建乘积数组
  • 原文地址:https://www.cnblogs.com/fenxiangyuan/p/14394374.html
Copyright © 2011-2022 走看看