java接口 泛型_java 泛型接口示例
/*
* 泛型接口
*/
interface Tool {
public void show(T t);
//泛型方法
public void print(E e);
}
/*
* 這種方式適合實現接口的時候就知道類里的泛型是什么
*/
class ToolImpl implements Tool {
@Override
public void show(String t) {
System.out.println("show:" + t);
}
@Override
public void print(E e) {
System.out.println("print:" + e);
}
}
/*
* 這種方式不好!
*/
class Tool2Impl implements Tool {
@Override
public void show(Object t) {
System.out.println("show obj" + t);
}
@Override
public void print(Object e) {
System.out.println("show obj" + e);
}
}
/*
* 這種方式適合使用的時候指定泛型
* 在繼承接口的時候不用指定泛型
* 注意的是也可以寫成別的比如
* 寫成的話,類上的和print方法
* 上的也不是一個類型
*/
class Tool3Impl implements Tool {
@Override
public void show(T t) {
System.out.println("show=" + t);
}
@Override
public void print(E e) {
System.out.println("print=" + e);
}
}
/*
* 這個寫法中show方法和print方法用的泛型也不是一個
* 類上的和print方法上的不是一個類型!!!
*/
class Tool4Impl implements Tool {
@Override
public void show(E t) {
System.out.println("show-" + t);
}
@Override
public void print(E e) {
System.out.println("print-" + e);
}
}
/*
* 錯誤!
* class Tool5Impl implements Tool {
*
* }
*/
/*
* 正確,但是這個泛型上的String沒意義,和Tool3Impl寫法沒區別
* class Tool5Impl implements Tool {
*
* }
*/
/*
* 錯誤1
* class Tool5Impl implements Tool {
*
* }
*/
/*
* 正確,但是這個泛型上的String|T沒意義,和Tool4Impl寫法沒區別
* class Tool6Impl implements Tool {
*
* }
*/
public class GenericDemo {
public static void main(String[] args) {
ToolImpl ti = new ToolImpl();
ti.show("nihao");
ti.print(6);
Tool3Impl t3i = new Tool3Impl();
t3i.show("haha");
t3i.print(6);
Tool4Impl t4i = new Tool4Impl();
t4i.show("hehe");
t4i.print(6);
}
}
總結
以上是生活随笔為你收集整理的java接口 泛型_java 泛型接口示例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java根据日期判断星座_根据日期计算星
- 下一篇: java吃豆游戏_利用java编写的精灵