`
hbkh2000
  • 浏览: 203801 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

父类句柄调用子类重写父类的方法

阅读更多
重写 getValue() ;
/**
 * 
 * <一句话功能简述>
 * 方法重写
 * @author  kWX14579
 * @version  [版本号, 2009-5-6]
 * @see  [相关类/方法]
 * @since  [产品/模块版本]
 */
public class A
{    
    private int x;
    private int y;        
    /**
     * @return 返回 x
     */
    public int getX()
    {
        return x;
    }
    /**
     * @param 对x进行赋值
     */
    public void setX(int x)
    {
        this.x = x;
    }
    /**
     * @return 返回 y
     */
    public int getY()
    {
        return y;
    }
    /**
     * @param 对y进行赋值
     */
    public void setY(int y)
    {
        this.y = y;
    }
    //方法被重写在子类;
    public void getValue()
    {
        System.out.println("aaa");
    }
    public static void main(String[] args)
    {
        // TODO Auto-generated method stub
        A a = new A();
        B b = new B();        
        b.setC(1);
        
        A a1 = (A)b; //父类引用(句柄)指向子类;
        A a2 = new B(); //父类引用(句柄)指向子类;        
        //B b1 = (B)a;  //父类不能转为子类;
        a1.getValue();
        a2.getValue();        
    }       
}

 

public class B extends A
{    
    private int c ;

    /**
     * @return 返回 c
     */
    public int getC()
    {
        return c;
    }

    /**
     * @param 对c进行赋值
     */
    public void setC(int c)
    {
        this.c = c;
    }    
    public void getValue()
    {
        System.out.println("bbbb");
    }
}

 

 

 

分享到:
评论

相关推荐

    Java方法句柄1

    4. `findSpecial()`: 查找类的特殊方法(如子类对父类的重写方法)。 调用方法句柄通常使用`invokeExact()`,它会确保传入的参数类型与方法签名完全匹配。如果参数列表是可变的,可以使用`asVarargsCollector()`来...

    java(5)

    上溯造型(Upcasting)是将子类对象作为父类对象来处理,允许我们使用父类引用调用子类的方法,从而实现多态。例如,`doStuff(Shape s)`可以接收任何形状的子类对象,并调用`erase()`和`draw()`方法,这体现了多态的...

    JVM调用Lambda的表达式实现方法原理详解.docx

    比如,`Virus`的子类`Cold`和`CoronaVirus`都重写了`ill`方法,当通过父类引用调用`ill`时,实际调用的是子类的方法,这就是动态分派的体现。 分派还可以根据宗量数(影响方法选择的因素)进一步划分为静态单分派、...

    Java多态性探悉()

    这就是为什么父类引用可以调用子类覆盖的方法,而不会出现编译错误。 五、多态性与继承的关系 多态性是基于继承的,子类继承父类并可以覆盖或扩展父类的方法。这样,一个父类引用可以指向任何子类对象,使得代码...

    Java-常见面试题.pdf

    如果父类中有一个静态的方法,子类也有一个与其方法名、参数类型、参数个数都一样的方法,并且也有 static 关键字修饰,那么该子类的方法会把原来继承过来的父类的方法隐藏,而不是重写。通俗的讲就是父类的方法和...

    函数细节注意事项.doc

    4. **全局变量与文件句柄检查**:在使用全局变量或文件句柄之前,应该检查它们的有效性,以防止因资源未初始化或已关闭而导致的问题。 综上所述,遵循这些规则和建议可以帮助开发者编写出更高质量、更易于维护和...

    用VB进行子类化

    2. **重写方法**:重写控件类中的某些方法来实现所需的功能。 3. **自定义事件处理**:在重写的方法中添加事件处理逻辑。 #### 四、小结 子类化是VB编程中的一个高级技术,它能够让开发者以更加灵活的方式定制应用...

    在C#的类或结构中重写ToString方法的用法简介

    默认情况下,这个方法返回的是类型名加上句柄的十六进制表示,这对于调试可能是有用的,但在实际应用中,往往需要根据类的具体信息来定制`ToString()`的输出。 当你创建一个自定义的类或结构时,重写`ToString()`...

    mfc_子类化+双缓冲

    例如,如果要对一个标准按钮进行子类化,首先创建一个继承自`CButton`的自定义类,然后在运行时调用`SubclassWindow`函数,传入要子类化的窗口句柄: ```cpp CMyButton myButton; myButton.SubclassWindow(HWND_of_...

    百度2016校园招聘笔试试题-南京PC客户端开发笔试题(1).pdf

    子类会继承父类的虚表,如果子类重写了父类的虚函数,子类的虚表相应位置的地址会被更新为子类的实现。虚表的排列顺序与基类保持一致,便于动态绑定。 3. **静态成员(static)**:`static`关键字在C++中可以修饰...

    C#基础概念二十五问

    12. 封装类不能有虚函数,因为封存类不允许被继承,也就不存在子类重写父类方法的情况。 13. 基类中的虚属性只有一个访问器,继承类重写后可以有一个或两个访问器;如果基类有get和set,继承类也必须提供get和set。...

    34个java问题.pdf

    在调用子类构造方法之前会先调用父类没有参数的构造方法,其目的是? 目的主要是为了确保父类的初始化逻辑得以执行,保证子类能够继承父类的特性。 #### 26. == 与 equals (重要) - `==`:比较两个对象的引用是否...

    delphi析构函数的使用

    // 调用子类的析构函数 end; ``` 总的来说,Delphi的析构函数是对象生命周期管理的关键工具,它确保了对象在被销毁前正确地清理资源。同时,结合窗体的继承和多态性,你可以构建出更灵活、可扩展的代码结构,提高...

    c# .net的面试考题

    - Override:用于子类重写父类的虚方法,确保多态性。 - 重载:在同一类中使用相同名称但参数列表不同的方法,通过编译时多态性实现。 3. .NET 错误处理机制: - 使用 try-catch-finally 结构捕获和处理异常。...

    你必须知道的C#的25个基础概念(附演示)

    - 如果基类虚属性只有一个访问器,子类重写时也只有一个。 - 基类有get和set,子类也可都有,但只能重写一个或全部。 14. abstract与virtual和override: - abstract与virtual不能同时使用,但abstract方法默认...

    DELPHI控件开发深入简出

    多态性允许子类重写父类的方法,实现不同的行为,这是面向对象编程的关键特性。 3. **属性、事件和方法**: - **属性**:属性用于暴露控件内部状态,如上述的 `Url` 属性。Delphi 的属性可以通过 `published` ...

    百度2014校园招聘笔试试题-南京PC客户端开发笔试题.doc

    - 子类继承父类后,若未重写虚函数,虚表中对应的函数地址仍然是父类的实现。 - 虚表的排列顺序在基类和派生类中保持一致,保证多态调用的正确性。 **3. static 的用法和作用** - static 修饰的变量在函数内部是...

    C#中下笔记

    3. **构造函数的调用顺序**: 当创建子类实例时,如果子类构造函数带有参数,它会首先调用与之匹配的父类构造函数(如果存在),如果没有匹配的,就会调用父类的无参数构造函数。 4. **as关键字**: as关键字用于安全...

    Matlab面向对象编程

    - **重写父类方法**:讨论如何在子类中覆盖父类的方法。 - **多重继承**:虽然Matlab不支持多重继承,但可以使用组合的方式实现类似的效果。 #### 八、存储类数据 (Properties — Storing Class Data) - **属性...

Global site tag (gtag.js) - Google Analytics