站内搜索: 请输入搜索关键词

当前页面: 开发资料首页Java 专题如何实例化一个抽象类?

如何实例化一个抽象类?

摘要: 如何实例化一个抽象类?
内容: 抽象类就一定不可以实例化吗?
呵呵,不一定哦。。看下面的例子:
public abstract class YourClassName
{
public abstract Object someMethod(...);
}
在你要有的地方

YourClassName ycn = (YourClassName) java.lang.reflect.Proxy.newProxyInstance(Thread.currentThread().getContextClassLoader(), new Class[]{YourClassName.class},new java.lang.reflect.
InvocationHandler(){
public Object invoke(Object proxy,Method m,Object params[]) throws Exception{return null;}
});


只是这个实例没有任何用处,他所有的方法都直接返回

如果要使不是abstract的方法和原来的一样,
那么修改invoke函数,判断m是不是抽象的
不是就调用proxy中的方法(m.invoke(proxy,params))
如果是就返回null

Java, java, J2SE, j2se, J2EE, j2ee, J2ME, j2me, ejb, ejb3, JBOSS, jboss, spring, hibernate, jdo, struts, webwork, ajax, AJAX, mysql, MySQL, Oracle, Weblogic, Websphere, scjp, scjd
↑返回目录
前一篇: 领略java.util.Canlendar的优点
后一篇: Reference 不为人知的一面