接口、抽象类、泛型、hashMap

时间:2024-01-18 11:30:20

看到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);
}
}

小白。。。