프로그래밍언어/JAVA
제너릭 실습
Isaac87
2015. 2. 13. 13:20
class Rectangle <T extends Number>
{
T x;
T y;
T w;
T h;
void setX(T x) { this.x = x; }
void setY(T y) { this.y = y; }
void setW(T w) { this.w = w; }
void setH(T h) { this.h = h; }
T getX() { return x; }
T getY() { return y; }
T getW() { return w; }
T getH() { return h; }
Number calcArea()
{
if(w instanceof Integer)
return w.intValue() * h.intValue();
else
return w.doubleValue()*h.doubleValue();
}
}
public class Test {
public static void main(String[] args) {
Rectangle<Integer> r1 = new Rectangle<>();
Rectangle<Double> r2 = new Rectangle<>();
r1.setH(100);
r1.setW(200);
r2.setW(123.45);
r2.setH(456.78);
System.out.println(r1.calcArea());
System.out.println(r2.calcArea());
}
}