Java方法覆盖教程

重新定义来自超类(父类)继承的类中的实例方法称为方法覆盖。

示例

现在来看看,类A和类B的以下声明,覆盖了 print() 方法 :


1

2

3

4

5

6

7

8

9

10

11

public class A  {

    public void  print() { 

        System.out.println("A");

    }

}

public class B  extends A  {

    public void  print() { 

        System.out.println("B");

    }

}

B是类A的子类。类B从其超类继承print()方法并重新定义它。类B中的print()方法覆盖类Aprint()方法。

如果一个类覆盖了一个方法,它会影响覆盖的类及其子类。 考虑下面的类C的声明:

点击链接查看详细内容

时间: 2024-11-12 03:45:03

Java方法覆盖教程的相关文章

Java方法覆盖重写

方法覆盖重写注意事项: 1.必须保证方法名相同,返回值也相同    @Override:写在方法前面,用来检测方法的覆盖重写是否有效,这个注解不是必要的,就算不写,方法覆盖重写符合要求也是正确的 2.子类方法的返回值必须[小于等于]父类方法的返回值 3.子类方法的修饰符必须[大于等于]父类方法的修饰符 继承关系中,父子类构造方法的访问特点: 1.子类构造方法中默认隐含一个“super()”的调用,而且在子类构造方法中是第一行语句,所以先执行父类的构造方法再执行子类的构造方法(先有父才有子) 2.

一个Java方法覆盖的小问题

1 class SuperClass{ 2 3 public SuperClass() { 4 System.out.println("superclass "); 5 show(); 6 } 7 public void show() { 8 System.out.println("super class show !"); 9 } 10 } 11 class Subclass extends SuperClass{ 12 13 public Subclass()

接口与继承——方法覆盖

//父类Parentclass Parent{ int x; int y; Parent() { x = 0; y = 0; } public void Set(int a,int b) { x = a; y = b; }}//子类Child继承了Parentclass Child extends Parent{ int z; Child() { super();//使用父类的构造方法初始化 z = 0; } public void Set(int a,int b)//与父类相同的方法 { x

接口与继承:方法覆盖(super)

源代码 //父类Parent class Parent{ int x; int y; Parent() { x = 0; y = 0; } public void Set(int a,int b) { x = a; y = b; } } //子类Child继承了Parent class Child extends Parent{ int z; Child() { super();//使用父类的构造方法初始化 z = 0; } public void Set(int a,int b)//与父类相同

Java 方法重载,方法重写(覆盖),继承等细节注意

1.方法重载(method overload)的具体规范 如果有两个方法的方法名相同,但参数不一致,那么可以说一个方法是另一个方法的重载. 一.方法名一定要相同. 二.方法的参数表必须不同,包括参数的类型或个数,以此区分不同的方法体. 1.如果参数个数不同,就不管它的参数类型了! 2.如果参数个数相同,那么参数的类型或者参数的顺序必须不同. 三.方法的返回类型.修饰符可以相同,也可不同. 四.main方法也可以被重载 方法重载的作用:可以一个相同的方法传入不同的参数以达到想要的结果 2.方法继承

java面向对象编程(六)--四大特征之继承、方法重载和方法覆盖

一.继承 1.继承的概念 继承可以解决代码复用,让我们的编程更加靠近人类思维.当多个类存在相同的属性(变量)和方法时,可以从这些类中抽象出父类,在父类中定义这些相同的属性和方法,所有的子类不需要重新定义这些属性和方法,只需要通过extends语句来声明继承父类.语法如下: class 子类 extends 父类 这样,子类就会自动拥有父类定义的某些属性和方法.另外,并不是父类的所有属性.方法都可以被子类继承.父类的public修饰符的属性和方法,protected修饰符的属性和方法,默认修饰符属

Java方法继承、方法重载、方法覆盖小总结

转自:http://blog.csdn.net/cdsnmdl/article/details/3968688 ———————————————————————————————————— 1.方法继承:利用extends关键字一个方法继承另一个方法,而且只能直接继承一个类. 当Sub类和Base类在同一个包时Sub类继承Base类中的public/protected/默认级别的变量个方法 在不同包时继承public/protected级别的变量和方法. 2.方法重载:如果有两个方法的方法名相同,但

java方法的继承,覆盖与重载

java中的继承使用extends关键字,在子类继承了父类之后将会获得父类的全部属性与方法(父类的构造器除外).如果在定义java类时没有显示定义她的父类,那么这个类默认将扩展java.lang.Object类.因此java.lang.Object是所有类的父类,要么是直接父类,要么就是间接父类. 方法的覆盖(Overridden Methods)    在类继承中,子类可以修改从父类继承来的行为,也就是说子类能创建一个与父类方法有不同功能的方法,但具有相同的:名称.返回类型.参数列表.如果在新

Java学习资料-方法覆盖、方法重载、多态与动态绑定

1.方法覆盖 方法覆盖就是子类定义一个和父类同名的方法来覆盖父类的方法.当父类方法在某些子类中被覆盖后,通常是子类调用父类,并做一些额外的其它工作. 使用方法覆盖应注意下面一些事项: 不使用super而希望引用父类方法会导致无限的递归,因为子类方法实际上是在调用它自己. 当通过父类引用调用一个方法时,Java会正确地选择与那个对象对应的类的覆盖方法.对于父类提供的方法,子类可以覆盖它,但这不是必须的,即子类也可以使用一个方法的父类版本. 方法覆盖中,子类在重新定义父类已有的方法时,应保持与父类完