接口、抽象类、泛型、hashMap

看到hashMap的put方法的第一行代码就懵逼了

就不继续往下看了

用简单的代码还原第一行代码

TsInter.java 接口

为什么要使用接口,比如写文章一样,我先列个大纲

//interface
public interface TsInter<K,V> {
    V put(K key, V value);
    V get(K key, V value);
}

TsSer.java 实现接口

大纲列好了,就要填充到里面内容了

这里实现接口的方式是个抽象类(抽象:从具体事物抽出、概括出它们共同的方面、本质属性与关系等,而将个别的、非本质的方面、属性与关系舍弃,这种思维过程,称为抽象。)

意思就是说这篇文章先要奠定一个感情基调或者价值观导向

//abs 只想到了put怎么写,还没想好get怎么写,用抽象类先实现了接口再说(抽象类的桥梁作用)
public abstract class TsSer<K,V> implements TsInter<K,V> {
    public  V put(K key, V value) {
        throw new UnsupportedOperationException();
    }
    public  V get(K key, V value) {
        throw new UnsupportedOperationException();
    }
}

Ts.java 继承抽象类

这个类的意思大概是,上面说的都对,我再补充以下几点。。。

public class Ts<K,V> extends TsSer<K,V>{
    public  V put(K key, V value) {       
        return value;
    } 
} 

HelloWorld.java 调用

调用具体的方法

public class HelloWorld {

    public static void main(String []args) {
         Ts<Integer,String> t = new Ts<Integer,String>();
         String s = t.put(1,"hello world").toString();
       System.out.println(s);
    }
} 

小白。。。

原文地址:https://www.cnblogs.com/hellowzd/p/9711488.html