zoukankan      html  css  js  c++  java
  • java继承时候类的运行顺序问题

    子类在继承父类后,创建子类对象会首先调用父类的构造函数,先运行父类的构造函数,然后再运行子类的构造函数,例如以下所看到的:


    class Father{
    	public Father(){
    		System.out.println("I am father");
    	}
    }
    public class Child extends Father{
    	public Child(){	
    		System.out.println("I am child");
    	}
    	public static void main(String[] args) {
    		Father f=new Father();
    		Child c=new Child();
    	}
    }

    当父类有带參数的构造函数时,子类默认是调用不带參数的构造函数,例如以下所看到的:


    class Father{
    	public Father(){
    		System.out.println("I am father");
    	}
    	public Father(String name){
    		System.out.println("I am father,My name is "+name);
    	}
    }
    public class Child extends Father{
    	public Child(){	
    		System.out.println("I am child");
    	}
    	public static void main(String[] args) {
    		Father f=new Father("Apache");
    		Child c=new Child();
    	}
    }

    若想子类调用父类带參数的构造函数,须要用super()函数申明,例如以下:

    class Father{
    	public Father(){
    		System.out.println("I am father");
    	}
    	public Father(String name){
    		System.out.println("I am father,My name is "+name);
    	}
    }
    public class Child extends Father{
    	public Child(){	
    		super("Apache");
    		System.out.println("I am child");
    	}
    	public static void main(String[] args) {
    		Father f=new Father("Apache");
    		Child c=new Child();
    	}
    }


  • 相关阅读:
    iOS沙盒机制
    iOS网络图片缓存SDWebImage
    iOS缓存到sandbox
    iOS缓存到内存
    网络语音技术
    iOS的影片播放 MediaPlayer 和 AVPlayer
    IOS上MediaPlayer framework实现视频播放
    线程间通信共享变量和queue
    如何进行多线程编程
    python的并发GIL 了解
  • 原文地址:https://www.cnblogs.com/hrhguanli/p/3777254.html
Copyright © 2011-2022 走看看