zoukankan      html  css  js  c++  java
  • Java父类与子类方法调用顺序

    父类 FatherClass

    package 父类与子类方法调用顺序;
    /**
     * 父类
     * @author shundong
     *
     */
    public class FatherClass {
    	private int i =0;
    	private String name;
    	/**
    	 * 父类无参构造
    	 */
    	FatherClass(){
    		System.out.println("--父类无参构造--");
    	}
    	/**
    	 * 父类带参构造
    	 * @param name
    	 */
    	FatherClass(String name){
    		this.name=name;
    		System.out.println("--父类带参构造--"+this.name);
    	}
    	/**
    	 * 父类静态代码块
    	 */
    	static{
    		System.out.println("--父类的静态代码块--");
    	}
    	/**
    	 * 父类非静态代码块
    	 */
    	{
    		++i;
    		System.out.println("--父类的非静态代码块--"+i);
    	}
    	/**
    	 * 父类的方法
    	 */
    	public void speak(){
    		System.out.println("--父类的方法--");
    
    	}
    	//加入一个main程序后
    	public static void main(String[] args) {
    		System.out.println("--父类主程序--");
    		FatherClass father=new FatherClass("父类");
    		father.speak();
    	}
    }
    

    结果:

    子类 SonClass

    package 父类与子类方法调用顺序;
    /**
     * 子类
     * @author shundong
     *
     */
    public class SonClass extends FatherClass {
    
    	private String name;
    
    	/**
    	 * 子类无参构造
    	 */
    	SonClass(){
    		System.out.println("--子类无参构造--");
    	}
    	/**
    	 * 子类带参构造
    	 * @param name
    	 */
    	SonClass(String name){
    		this.name=name;
    		System.out.println("--子类带参构造--"+this.name);
    	}
    	/**
    	 * 子类静态代码块
    	 */
    	static{
    		System.out.println("--子类静态代码块--");
    	}
    	/**
    	 * 子类的非静态代码块
    	 */
    	{
    		System.out.println("--子类的非静态代码块--");
    	}
    	/**
    	 * 重写父类方法
    	 */
    	@Override
    	public void speak(){
    		System.out.println("--子类重写(Override)了父类的方法--");
    	}  
    	//然后再加入一个main函数
    
    	public static void main(String[] args) {
    
    		System.out.println("--Main主程序调动--");
    		FatherClass father=new FatherClass("父亲");
    		father.speak();
    		SonClass son=new SonClass("儿子");
    		son.speak();
    
    	}
    }
    

      

    结果

  • 相关阅读:
    Spring中bean的生命周期
    HashMap与HashTable原理及数据结构
    HashMap 与HashTable的区别
    2 rocketmq mqadmin 的用法详解
    搭建RocketMQ踩的坑-内存不足
    解决Hash碰撞冲突方法总结
    大端BigEndian、小端LittleEndian与字符集编码
    Linux中最常用的JAVA_HOME配置
    WIP_DISCRETE_JOBS.STATUS_TYPE
    Inventory > INV.MTL_MATERIAL_TRANSACTIONS Show Error Msg: ORA-20100: File lxxx.tmp creation for FND_FILE failed.
  • 原文地址:https://www.cnblogs.com/shundong106/p/9872106.html
Copyright © 2011-2022 走看看