认识泛型
泛型类介绍
泛型接口介绍
代码
代码一:认识泛型
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) { }
}