泛型接口的概述和使用 implements

2018-11-30  本文已影响0人  MayerBin

泛型接口的概述和使用

implements

implements是一个类,实现一个接口用的关键字,它是用来实现接口中定义的抽象方法。实现一个接口,必须实现接口中的所有方法。

定义

(1)接口可以被多重实现(implements),抽象类只能被单一继承(extends)

(2)接口只有定义,抽象类可以有定义和实现

(3)接口的字段定义默认为:public static final, 抽象类字段默认是"friendly"(本包可见)

详解

比如:People是一个接口,他里面有say这个方法。

接口的定义:

public interface People{

public void say();

}

但是接口没有方法体。只能通过一个具体的类去实现其中的方法体。

比如 Chinese这个类,就实现了People这个接口。

接口的实现:

public class Chinese implements People{

public void say() {

System.out.println(" 你好!");

}

}

接口的调用:

People chinese = new Chinese() ;

chinese.say();

接口可以有不同的实现,即使用不同的类实现。

在java中extends表示子类继承父类,如类A继承类B写成

class A extends B

{

//.....

}

implements 的意思更接近“实现”,比如实现一个接口的方法。

区别

[编辑](javascript:;)

与Extends的区别

extends,表示对父类的继承,可以实现父类,也可以调用父类初始化 this.parent()。而且会覆盖父类定义的变量或者函数。

implements,表示对接口的实现,接口通过关键字interface 进行定义。eg:public class S implements F,在接口F中对方法进行声明,在类S中对该方法进行实现。

这两种实现的具体使用,是要看项目的实际情况,需要实现,不可以修改implements,只定义接口。需要具体实现,或者可以被修改扩展性好,用extends。

实例

package com.heima.set;

public class demo4 {

    public static void main(String[] args) {
        
        People<String>  s = new Chinese();
        s.run("abc");
                
    }
    
}
    
 interface People<T>{
        
        public void run(T t);
    }
    
 class Chinese implements People<String>{
        
        @Override
        public void run(String t) {
            System.out.println(t);
        }
    }

参考链接:https://blog.csdn.net/ZHOU_VIP/article/details/70499975?utm_source=blogxgwz1

上一篇 下一篇

猜你喜欢

热点阅读