用泛型表示接口
1//ਧԎӞӻာࣳളݗ 2public interface Generator<T> {
3public T next();
4}
Ӟᛱာࣳളݗଉአԭኞ౮(generator) Ӿ҅ኞ౮ፘ୮ԭૡܯ҅ฎӞᐿӫᳪአڠୌጱ ᔄ̶
ာࣳොဩ
ݢզֵአာࣳᤒᐏොဩ
1public class GenericMethods { 2public <T> void f(T x){
| 3 | System.out.println(x.getClass().getName()); |
|---|---|
| 4 | } |
| 5 | } |
ာࣳ᭗ᯈᒧ
List ฎာࣳᔄ҅ԅԧᤒᐏݱᐿာࣳList ጱᆿᔄ҅ݢզֵአᔄࣳ᭗ᯈᒧ҅ᔄࣳ᭗ᯈᒧֵአݩᳯ(?) ᤒ ᐏ҅ਙጱزᔰᔄࣳݢզ܃ᯈձ֜ᔄ̶ֺࣳই
1public static void main(String[] args) {
| 2 | List<String>name=newArrayList<String>(); |
|---|---|
| 3 | List<Integer>age=newArrayList<Integer>(); |
| 4 | List<Number>number=newArrayList<Number>(); |
| 5 | name.add("cxuan"); |
| 6 | age.add(18); |
| 7 | number.add(314); |
| 8 | generic(name); |
| 9 | generic(age); |
| 10 | generic(number); |
| 11 | } |
12
| 13 | publicstaticvoidgeneric(List<?>data){ |
|---|---|
| 14 | System.out.println("Testcxuan:"+data.get(0)); |
| 15 | } |
Ӥኴ᭗ᯈᒧ : <? extends ClassType> ᧆ᭗ᯈᒧԅ ClassType ጱಅํৼᔄ̶ࣳਙᤒᐏጱฎձ֜ᔄࣳ᮷ฎ ClassType ᔄࣳጱৼᔄ̶
ӥኴ᭗ᯈᒧғ <? super ClassType> ᧆ᭗ᯈᒧԅ ClassType ጱಅํ᩻ᔄ̶ࣳਙᤒᐏጱฎձ֜ᔄࣳጱᆿ ᔄ᮷ฎ ClassType̶
ݍ
Java ݍګฎࣁᑕଧጱᬩᤈᬦᑕӾ҅ԭձ֜Ӟӻᔄ҅᮷ᚆड़Ꭳ᭲ਙጱಅํંොဩҔԭձ Ӟӻ҅᮷ᚆड़Ꭳ᭲᧣አਙጱձંොဩ҅ᬯᐿۖா឴מݐ௳զۖ݊ா᧣አොဩጱۑᚆᑍԅ
javaጱݍګ̶ҁრԭጯଶጯᑀ҂
Java ᚆۑӻپԧզӥᬯ׀Ԇᥝګݍ
ࣁᬩᤈڣෙձӞӻಅંጱᔄ ࣁᬩᤈ᭜ձӞӻᔄጱ
ࣁᬩᤈڣෙձӞӻᔄಅํጱ౮ݒާᰁොဩ ࣁᬩᤈ᧣አձӞӻጱොဩ
ᬯԍӞ፡҅ݍ੪؟ฎӞӻഩഴقੴጱᜋ҅ӧᓕ֦ᑕଧெԍᬩᤈ҅౯᮷ᚆड़Ꭳ֦᭲ᬯӻᔄํߺԶં ොဩ֦҅ᬯӻฎኧ᧡᧣አጱ҅ࡧ҅உ䌷̶
ࣁ Java አֵӾ҅Java.lang.reflect ۱ਫሿԧݍګ̶Java.lang.reflect ಅᦡᦇጱᔄইӥ

ӥᶎฎӞӻᓌܔጱݍᔄ
1public class Person { 2public String name;// ݷন
3public int age;// ଙἻ 4
5public Person() { 6super();
7} 8
9public Person(String name, int age) { 10super();
11this.name = name;
12this.age = age;
17} 18}
19 20public class Student extends Person implements Study {
21public String className;// ቔᕆ 22private String address;// ࣎֘
23 24public Student() {
25super();
26} 27
| 28 | publicStudent(Stringname,intage,StringclassName,Stringaddress){ |
|---|---|
| 29 | super(name,age); |
| 30 | this.className=className; |
| 31 | this.address=address; |
| 32 | } |
33 34public Student(String className) {
35this.className = className;
36} 37
38public String toString() { 39return "ғݷন" + name + ",ଙἻғ" + age + ",ቔᕆғ" + className + ",࣎֘ғ"
40+ address;
41} 42
43public String getAddress() { 44return address;
45} 46
| 47 | publicvoidsetAddress(Stringaddress){ |
|---|---|
| 48 | this.address=address; |
| 49 | } |
| 50 | } |
51 52public class TestRelect {
53 54public static void main(String[] args) {
55Class student = null;
56try {
| 57 | student=Class.forName("com.cxuan.reflection.Student"); |
|---|---|
| 58 | }catch(ClassNotFoundExceptione){ |
| 59 | e.printStackTrace(); |
| 60 | } |
| 62 | // ឴ݐጱಅํلํં̶ |
| 63 | Field[]fields=student.getFields(); |
| 69 | Field[]declaredFields=student.getDeclaredFields(); |
|---|---|
| 70 | for(Fielddf:declaredFields){ |
| 71 | System.out.println(df); |
| 72 | } |
73 74// ឴ොဩولጱಅํݐ
| 75 | Method[]methods=student.getMethods(); |
|---|---|
| 76 | for(Methodm:methods){ |
| 77 | System.out.println(m); |
| 78 | } |
| 79 | System.out.println("---------------------"); |
| 80 | // ឴ݐಅํොဩ҅֕ӧ۱ތᖀಥጱ |
| 81 | Method[]declaredMethods=student.getDeclaredMethods(); |
| 82 | for(Methoddm:declaredMethods){ |
| 83 | System.out.println(dm); |
| 84 | } |
85 86// ឴ݐಅํጱول᭜ොဩ
| 87 | Constructor[]constructors=student.getConstructors(); |
|---|---|
| 88 | for(Constructorc:constructors){ |
| 89 | System.out.println(c); |
| 90 | } |
| 91 | System.out.println("---------------------"); |
| 92 | // ឴ݐಅํጱ᭜ොဩ |
| 93 | Constructor[]declaredConstructors=student.getDeclaredConstructors(); |
| 94 | for(Constructordc:declaredConstructors){ |
| 95 | System.out.println(dc); |
| 96 | } |
97
| 98 | Classc=Class.forName("com.cxuan.reflection.Student"); |
|---|---|
| 99 | Studentstu1=(Student)c.newInstance(); |
| 100 | //ᒫӞᐿොဩ҅ਫ۸ֺἕᦊ᭜ොဩ҅᧣አ setᩙ꧊ |
| 101 | stu1.setAddress("မ۹Ꭺਹଢ"); |
| 102 | System.out.println(stu1); |
103
| 104 | //ᒫԫᐿොဩහڍ᮱ጱ᭜قݐֵ አ᭜ڍහᩙ꧊ |
|---|---|
| 105 | Constructor<Student>constructor=c.getConstructor(String.class, |
| 106 | int.class, |
String.class, String.class);
107Student student2 = (Student) constructor.newInstance("cxuan", 24, "م ቔ", "Ꭺਹଢ");
108System.out.println(student2);
109 110/**
111* 劧ݐොဩଚಗᤈොဩ 112*/
113Method show = c.getMethod("showInfo");//឴ݐshowInfo()ොဩ
全站分卷索引 · 58 卷
- 1Java 概述
- 2Java 的特点
- 3Java 开发环境
- 4JRE
- 5基础语法
- 6Java 执行控制流程
- 7循环语句
- 8for 循环语句
- 9continue 语句
- 10对象的创建
- 11构造方法
- 12方法重载
- 13方法的重写
- 14初始化
- 15初始化顺序
- 16对象的销毁
- 17this 和 super
- 18访问控制权限
- 19多态
- 20组合
- 21代理
- 22static
- 23接口
- 24异常
- 25常见的 Exception
- 26与 Exception 有关的 Java 关键字
- 27什么是 Error
- 28内部类
- 29创建内部类
- 30Iterable 接口
- 31顶层接口
- 32LinkedList 类
- 33PriorityQueue
- 34HashMap
- 35WeakHashMap 类
- 36集合实现类特征图
- 37泛型的使用
- 38用泛型表示接口
- 39Class 类
- 40Field 类
- 41Method 类
- 42枚举特性
- 43枚举和普通类一样
- 44枚举神秘之处
- 45枚举类
- 46I/O
- 47File 类
- 48基础 IO 类和相关方法
- 49OutputStream
- 50Writer 类
- 51OutputStream 及其子类
- 52注解
- 53关于 null 的几种处理方式
- 54null 是任何引用类型的初始值
- 55使用 Null-Safe 方法
- 56关于思维导图
- 57Java.math
- 58Java.net