關於子類實例化父類對象


以Collection接口為例:

Collection接口有兩個子接口——List接口和Set接口.

其中,ArrayList是List接口的子類.

因此,既可以用ArrayList為上一層的List接口實例化,

也可以為上上層的Collection接口實例化.

 

子接口肯定比父接口的方法多(因為子接口擴充了父接口的方法),

因此,實例化Collection接口所能調用的方法,肯定比實例化ArrayList接口所能調用的方法少.

 

package prepare1;

import java.util.ArrayList;
import java.util.Collection;
import java.util.List;

interface A{
	public void func1();
	public void func2();
}

class B implements A{

	@Override
	public void func1() {
		System.out.println("一號方法");
		
	}

	@Override
	public void func2() {
		System.out.println("二號方法");
		
	}
	
	public void func3() {
		System.out.println("三號方法");
	}
	
}
public class Test {
    public static void main(String[] args) {
        A a = new B();//實例化接口A
        B b = new B();//實例化普通類B
        
        //如果實例化的是接口,則只能調用接口中的方法
        a.func1();
        a.func2();
        
        //如果實例化的是類,則既可以調用父接口的方法,也可以調用自己內部定義的方法
        b.func1();
        b.func2();
        b.func3();

    }
}

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM