认识泛型
泛型类介绍
泛型接口介绍
代码
代码一:认识泛型
package com. generics ;
import java. util. ArrayList ;
public class Test {
public static void main ( String [ ] args) {
ArrayList list = new ArrayList ( ) ;
list. add ( "JAVA1" ) ;
list. add ( "JAVA2" ) ;
list. add ( "JAVA3" ) ;
list. add ( new Cat ( ) ) ;
for ( int i = 0 ; i < list. size ( ) ; i++ ) {
String s = ( String ) list. get ( i) ;
}
System . out. println ( "==========================" ) ;
ArrayList < String > list1 = new ArrayList ( ) ;
list1. add ( "JAVA1" ) ;
list1. add ( "JAVA2" ) ;
list1. add ( "JAVA3" ) ;
for ( int i = 0 ; i < list1. size ( ) ; i++ ) {
String e = list1. get ( i) ;
System . out. println ( e) ;
}
}
}
class Cat { }
代码二:认识泛型类
MyArrayList类(泛型类)
package com. generics_class ;
public class MyArrayList < E > {
private Object [ ] arr = new Object [ 10 ] ;
private int size = 0 ;
public boolean add ( E e) {
arr[ size++ ] = e;
return true ;
}
public E get ( int index) {
return ( E ) arr[ index] ;
}
}
MyClass2类(泛型类)
package com. generics_class ;
public class MyClass2 < E , T > {
public void get ( E e, T t) {
}
}
MyClass3类(泛型类)
package com. generics_class ;
public class Myclass3 < E extends Animal > {
}
Animal类(父类)
package com. generics_class ;
public class Animal {
}
Cat(子类继承Animal)
package com. generics_class ;
public class Cat extends Animal {
}
Test类(主程序类)
package com. generics_class ;
public class Test {
public static void main ( String [ ] args) {
MyArrayList < String > list = new MyArrayList < > ( ) ;
list. add ( "JAVA1" ) ;
list. add ( "JAVA2" ) ;
list. add ( "JAVA3" ) ;
String s = list. get ( 1 ) ;
System . out. println ( s) ;
MyClass2 < String , String > c2 = new MyClass2 < > ( ) ;
Myclass3 < Cat > c3 = new Myclass3 < > ( ) ;
}
}
代码三:认识泛型接口
Data(泛型接口)
package com. generics_interface ;
import java. util. ArrayList ;
public interface Data < T > {
void add ( T t) ;
ArrayList < T > getByName ( String name) ;
}
Student(学生类)
package com. generics_interface ;
public class Student {
}
Teacher(老师类)
package com. generics_interface ;
public class Teacher {
}
StudentData (实现Data接口的类)
package com. generics_interface ;
import java. util. ArrayList ;
public class StudentData implements Data < Student > {
@Override
public void add ( Student student) {
}
@Override
public ArrayList < Student > getByName ( String name) {
return null ;
}
}
StudentData (实现Data接口的类)
package com. generics_interface ;
import java. util. ArrayList ;
public class TeacherData implements Data < Teacher > {
@Override
public void add ( Teacher teacher) {
}
@Override
public ArrayList < Teacher > getByName ( String name) {
return null ;
}
}
Test类 (介绍此次课程目标)
package com. generics_interface ;
public class Test {
public static void main ( String [ ] args) {
}
}