Java中的方法覆盖

原创 2015年11月18日 18:36:42

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();

输出结果如下:

这里写图片描述

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Java 覆盖equals和hashCode方法

覆盖equals方法看起来似乎很简单,但是有许多覆盖方式会导致错误,并且后果非常严重,最容易避免这类问题的办法就是不覆盖equals方法。 什么时候需要覆盖equals方法?如果类具有自己特有的“逻...

Java中10种覆盖方法的方式

From: http://blog.csdn.net/anmei2010/article/details/4105356     1)子类方法的名称、参数签名和返回类型必须与父类方法的名称、参数...

java方法的重载与覆盖的返回值类型

public class A extends B{ //下面的是方法的覆盖(重写overRiding) public void riding(){ System.out.println("th...

Java关于子类对父类私有方法覆盖的问题

最近在学习到Java的继承和多态时遇到了这样的一个问题:关于继承链中子类对父类的私有方法是否可以覆盖的问题,在此记录一下自己对这个问题解决以后的一些心得。

从父类构造器调用子类覆盖方法看Java初始化过程

class Glyph {  void draw() { System.out.println("Glyph.draw()"); }  Glyph() {  System.out.println("G...

java this 子类调父类,父类再调用子类已覆盖的方法及属性(又一次理解)

众所周知,java中this关键字指的是当前调用对象,一般使用方法不在此阐述public class HelloA { public static void main(String[] arg...

JAVA中方法和变量在继承中的覆盖和隐藏

我们知道,在JAVA中,子类可以继承父类,如果子类声明的方法与父类有重名的情况怎么办,大伙儿都知道要是重写,但是实际上这又分为两种情况,就是方法和变量在继承时的覆盖和隐藏问题,这些概念性的东西看似无聊...
  • yajlv
  • yajlv
  • 2016-10-03 18:37
  • 138

java 多态,和方法覆盖分析

多态 (Polymorphism) 大家应该都不陌生,它是我们开发面向对象系统的“老朋友”了 。但是老朋友也会有“烦心”的时候啊,呵呵。有时候 不注意,还真会被它难到。譬如下面这个例子(thank H...

Java探索之旅(12)——equals方法及其覆盖

1.Object中的equals方法     ❶作用:判断两个引用变量是否指向同一个对象(等同“==”)。返回true,否则返回false。并没有实际检查是否内容相同。默认实现为: ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)