/**在类上定义一个泛型*/
class Person1<T> {
}
/**在类上定义两个泛型*/
class Person2<T,S>{
}
/**在类上定义两个泛型,且第二个类型S必须F或者F的子类*/
class Person3<F, S extends F>{
}
/**在方法上声明一个泛型*/
public <T> void show(T t){
}
/**在方法上声明两个泛型*/
public <T,S> void show(T t, S s){
}
/**在方法上声明两个泛型,切第二个类型S必须是F或者F的子类*/
public <F,S extends F> void show(){
}
interface English<T> {
void speakEnglish();
}
/**
*
* 问题:可以调用以下String中的substring方法吗
* 第一个<String>是声明一个泛型,名字叫String
* 第二个<String>是使用刚才声明好的泛型
* 所以这两个String与java.lang包下的String没有任何关系
*/
class Person<String> implements English<String>{
@Override
public void speakEnglish() {
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |