📄 holder3.java
字号:
// generics/Holder3.java
// TIJ4 Chapter Generics, Exercise 1, page 621
// Use Holder3 with the typeinfo.pets library to show that a Holder3 that is
// specified to hold a base type can also hold a derived type.
import typeinfo.pets.*;
public class Holder3<T> {
private T a;
public Holder3(T a) { this.a = a; }
public void set(T a) { this.a = a; }
public T get() { return a; }
public static void main(String[] args) {
Holder3<Pet> h3 =
new Holder3<Pet>(new Pet());
Pet a = h3.get(); // No cast needed
System.out.println(h3.get());
// can also hold a subclass of Pet:
h3.set(new Dog());
System.out.println(h3.get());
// can also hold a sububclass of Pet:
h3.set(new Gerbil());
System.out.println(h3.get());
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -