`

可不可以实例化一个抽象类?- -

    博客分类:
  • j2ee
阅读更多

用程序自己实现

比如:
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;}
        });
这样就得到了YourClassName的一个实例
只是这个实例没有任何用处,他所有的方法都直接返回

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

分享到:
评论

相关推荐

    Java抽象类.pdf

    Java中抽象类是指用abstract关键字修饰的类,它不能被实例化,只能被继承。抽象类通常用于定义一些公共的方法和属性,但是这些方法没有具体的实现。子类必须重写抽象类中的所有抽象方法才能被实例化。 抽象类是Java...

    深入解析C#中的abstract抽象类

    抽象类不能实例化。抽象类的用途是提供一个可供多个派生类共享的通用基类定义。例如,类库可以定义一个抽象类,将其用作多个类库函数的参数,并要求使用该库的程序员通过创建派生类来提供自己的类实现。 抽象类也...

    ,NET概念问题总结.doc

    1:用sealed修饰的类有什么特点? 答:a.不能被派生。 b.不能同时为抽象类。...接口中的方法是用来定义对象之间通信的契约,指定方法的修饰没有意义,所以方法不可被修饰,一个类可以继承多个接口。

    Java面试问题带答案40道.docx

    答:抽象类是一种不能被实例化的类,只能作为其他类的基类。它可以包含抽象方法,用于定义子类必须实现的方法。 4. Java中什么是接口? 答:接口是一种与具体实现无关的规范,其中只包含了方法的声明而没有实现。它...

    新版Android开发教程.rar

    也有分析认为,谷歌并不想做一个简单的手机终端制造商或者软件平台开发商,而意在一统传统互联网和 移 动互联网。----------------------------------- Android 编程基础 4 Android Android Android Android 手机新...

    【05-面向对象(下)】

    •一个类最多只能有一个直接父类,包括抽象类;但一个类可以直接实现多个接口,通过实现多个接口可以弥补 Java单继承的不足。 面向接口编程 •接口体现了规范与实现分离的原则。充分利用接口可以很好地...

    JAVA类的方法调用和变量

    3、静态类(不需要实例化,就可以使用的类) 二、方法的分类: 1、私有方法(只有类的内部才可以访问的方法) 2、保护方法(只有类的内部和该类的子类可以访问的方法) 3、共有方法(无论内部或外部均可访问的方法...

    跟我学Java面向对象程序设计技术及应用——Java中的面向对象技术(第1部分).pdf

    1) 可维护性:以一种模块化组装的方式控制程序 2) 可升级性:可以轻松低耦合的,更换故障组件 杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料 杨教授工作室,版权所有,盗版必究, 3/21 页 3 杨教授工作室 ...

    java面试宝典

    72、当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法? 18 73、线程的基本概念、线程的基本状态以及状态之间的关系 18 74、sleep() 和 wait() 有什么区别? 18 75、socket通信...

    千方百计笔试题大全

    72、当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法? 18 73、线程的基本概念、线程的基本状态以及状态之间的关系 18 74、sleep() 和 wait() 有什么区别? 18 75、socket...

    JAVA面试题最全集

    修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为 abstract的,又被声明为final的。将变量或方法声明为final,可以保证它们在使用中不被...

    java 面试题 总结

    然而可以创建一个变量,其类型是一个抽象类,并让它指向具体子类的一个实例。不能有抽象构造函数或抽象静态方法。Abstract 类的子类为它们父类中的所有抽象方法提供实现,否则它们也是抽象类为。取而代之,在子类中...

    net学习笔记及其他代码应用

    然而可以创建一个变量,其类型是一个抽象类,并让它指向具体子类的一个实例。不能有抽象构造函数或抽象静态方法。Abstract 类的子类为它们父类中的所有抽象方法提供实现,否则它们也是抽象类为。取而代之,在子类中...

    C++的概念/解释,可打印,华南师范大学C++考过。

    64. 为什么函数模板的使用与普通的函数完全一样, 而类模板在使用时还必须被实例化? 13 65. 类模板继承时的语法与普通的类继承有什么不同? 13 66. 什么是打开文件?什么是关闭文件?为什么需要打开和关闭文件? 14...

    超级有影响力霸气的Java面试题大全文档

    然而可以创建一个变量,其类型是一个抽象类,并让它指向具体子类的一个实例。不能有抽象构造函数或抽象静态方法。Abstract 类的子类为它们父类中的所有抽象方法提供实现,否则它们也是抽象类为。取而代之,在子类中...

    计算机(专升本)Java程序设计复习资料.doc

    抽象类与接口的异同 抽象类和接口都不能够实例化,但可以定义抽象类和接口类型的引用。 一个类如果继承了某个抽象类或者实现了某个接口都需要对其中的抽象方法全部进行实 现,否则该类仍然需要被声明为抽象类。 ...

    java面试800题

    Q0058 一个Java抽象类声明了一个方法并会抛出一个异常,问继承这个抽象类的子类,实现了这个方法,这个方法声明是不是一定要抛出一模一样的异常,可不可以不抛,或者抛出的异常比抽象类的异常范围大,或者小?...

    抽象工厂模式更换UI皮肤设计模式作业(100分)

    使用抽象工厂模式创建皮肤工厂,用子工厂的产品去实例化 用的Jframe 图片放在与代码根目录同级目录...我们可以实例化不同的产品,而不需要在客户端代码中直接指定具体的类。这样可以使系统更加灵活,轻松地添加新的产品

    PHP 面向对象技术(全面讲解).txt

    一个项目要用到多少个类,用多少个对象,在那要定义类,定义 一个什么样的类,这个类实例化出多少个对象,类里面有多少个属性,有多少个方法等等,这就需 要读者通过在实际的开发中就实际问题分析设计和总结了。 类的...

    java三大特性说明

     抽象类是用于描述自然界中层级较高的对象类,人们无法对一个抽象类实例化,如动物。只能用一个动物类的子类对抽象类的对象进行实例化。  抽象修饰符abstract 可以修饰类,修饰方法。  抽象类中可以定义非抽象的...

Global site tag (gtag.js) - Google Analytics