美文网首页
关于多态的一些思考

关于多态的一些思考

作者: lifesmily | 来源:发表于2018-08-23 22:42 被阅读8次
多态存在的三个必要条件
  • 继承
  • 重写
  • 父类引用子类对象

多态是指同一个接口具有不同的表现行为。使用多态的调用方法时,首先检查父类中是否有该方法,如果没有编译错误,如果有调用子类的同名方法。

class Fu {
    public int age = 40;
    static {
        System.out.println("initial block fu");
    }
    public Fu(){
        System.out.println("hello fu");
    }
    public void show(){
        System.out.println("show Fu");
    }
}

class Zi extends Fu{
    public int age = 20;
    static {
        System.out.println("initial block Zi");
    }
    public Zi(){
        System.out.println("hello zi");
    }
    public void show(){
        System.out.println("show Zi");
    }
    public void method(){
        System.out.println("method here");
    }
}

public class testDemo {
    public static void main(String[] args){
        Fu demo = new Zi();
        System.out.println(demo.age);
        demo.show();
    }

}

输出为:

initial block fu
initial block Zi
hello fu
hello zi
40
show Zi

上面除了多态需要理解,还要注意的是父类中的属性当用父类去调用时不会被重写。初始代码块的问题,如果没有static是一个对象初始化,和构造方法一起初始化,但是上面是先执行的父和子的初始代码块,然后执行父和子的构造方法,因为先初始化类,然后初始化对象。

相关文章

  • 关于多态的一些思考

    多态存在的三个必要条件 继承 重写 父类引用子类对象 多态是指同一个接口具有不同的表现行为。使用多态的调用方法时,...

  • 2016/1/29 周五

    今天 关于面向对象的思考 复用1.1 封装1.2 继承1.3 多态1.4 为了复用而作 打扫13 上午1.1 刷茶...

  • 关于cpp多态的一些随笔

    多态实现的基础是虚函数。 首先最常见的一个问题就是:一个类的构造函数可不可以是虚函数? 嗯,这个答案当然是否定的,...

  • 13. 关于多态性

    关于多态性 答案:多态,子类指针可以赋值给父类。 这个题目其实可以出到一切面向对象语言中, 因此关于多态,继承和封...

  • iOS关于换肤和夜间模式的一些思考

    iOS关于换肤和夜间模式的一些思考 iOS关于换肤和夜间模式的一些思考

  • 2018-06-13 Java笔记(一)

    参考runoob.com 关于多态。 定义:多态是同一个行为具有多个不同表现形式或形态的能力。 实现的逻辑:多态就...

  • 关于引导机制的一些思考

    关于引导机制的一些思考

  • 关于“换位思考”的一些思考

    豆瓣上有个话题是“你什么时候真正开始换位思考的?”我刚看到这个话题的时候就觉得很有趣。 我认为有趣的地方在于,这个...

  • iOS-Swift-多态实现原理、初始化器

    一. 多态实现原理 多态就是父类指针指向子类对象关于多态:在编译的时候并不知道要调用的是父类还是子类的方法,运行的...

  • 关于一些思考

    此刻将近下午五点,天空还有一些亮光,一天都差不多待在室内,确实有点憋的慌,觉得好惆怅,脑子涨得不清楚,进食过量...

网友评论

      本文标题:关于多态的一些思考

      本文链接:https://www.haomeiwen.com/subject/pgmtjftx.html