小天的博客

路漫漫其修远兮~

Java中的方法覆盖

Java中的override是java多态的一种体现,当调用具体的方法时,会根据具体的当前的对象(父类对象或者子类对象),来确定执行的具体方法。示例如下:

Super.java

public class Super {

    public Super() {
        System.out.println("super的构造方法");
        this.overrideMe();//构造父类时,调用父类的;调用子类时,调用子类的
        overrideMe();//两者效果是一样的
    }

    public void overrideMe() {
        System.out.println("super");
    }
}    

Sub.java

public class Sub extends Super {

    public Sub(){
        System.out.println("Sub的构造方法");
        overrideMe();//会调用子类的方法
        super.overrideMe();//会调用父类的方法
    }

    @Override
    public void overrideMe(){
        System.out.println("Sub");
    }

}

如下语句调用:

Super sub = new Sub();

输出结果如下:

这里写图片描述

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/anerle2012/article/details/49911069
上一篇Java中的静态代码块
下一篇Java的访问权限
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭