美文网首页
泛型接口的概述和使用 implements

泛型接口的概述和使用 implements

作者: MayerBin | 来源:发表于2018-11-30 17:06 被阅读0次

    泛型接口的概述和使用

    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

    相关文章

      网友评论

          本文标题:泛型接口的概述和使用 implements

          本文链接:https://www.haomeiwen.com/subject/osghcqtx.html