自己写了个例子,希望可以对楼主有点帮助
abstract class A{
public void get();
public void set();
}
class B extends A{
public void get(){
//自己的实现;
}
public void set(){
//自己的实现;
}
}
class C exntends A{
public void get(){
//自己的实现;
}
public void set(){
//自己的实现;
}
}
class d {
public static A getObj(){
return new c();
}
}
A obj=d.getObj();
obj.get(); //调用的是Class c 的get()方法
窗体.getGraphics()返回的不再是一个Abstract Graphics a,而是一个extended Graphics b,b同时也是Abstract Graphics,所以b可以以a的形式返回
不仅 abstract class,可以如此,interface 也可以如此
public abstract class Abs{...}
public class Ext extend Abs{...}
...
Abs a= new Ext();//这么说你明白了吗?