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

  • 相关阅读:
    mysql 新用户添加和权限
    分治法
    插入排序
    猴子分桃问题
    关于PHP面向对象 静态方法的疑问
    php中static 静态变量和普通变量的区别
    php函数引用返回
    redis 限制请求次数的写法
    cas单点登录认证原理
    聚簇索引和非聚簇索引
  • 原文地址:https://www.cnblogs.com/fenxiangyuan/p/14394374.html
Copyright © 2011-2022 走看看