zoukankan      html  css  js  c++  java
  • 关于子类实例化父类对象

    以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();
    
        }
    }
    

      

  • 相关阅读:
    03-java实现双向链表
    04-java实现循环链表
    02-java实现单链表
    01-java实现动态数组
    安装mpi的那些坑
    gotoblas,mpich,hpl,hpcg的安装
    centos之hadoop的安装
    公告
    AFO之后……
    Codeforces Round #599 (Div. 2)的简单题题解
  • 原文地址:https://www.cnblogs.com/ssC2H4/p/8528820.html
Copyright © 2011-2022 走看看