java方法的重写与重载

方法重写规则:

  参数列表和返回值类型必须与被重写的方法相同

  访问权限不能比父类中被重写的方法的访问权限更低。例如:如果父类的一个方法被声明为public,那么在子类中重写该方法就不能声明为protected

  父类的成员方法只能被它的子类重写

  声明为final的方法不能被重写

静态方法也能被继承。 但是, 静态方法不能被覆盖。 如果父类中
定义的静态方法在子类中被重新定义, 那么在父类中定义的静态方法将被隐藏。 可
以使用语法: 父类名 .静态方法名(SuperClassName. staticMethodName) 调用隐藏的
静态方法。

  子类和父类在同一个包中,那么子类可以重写父类所有方法,除了声明为private和final的方法。

  子类和父类不在同一个包中,那么子类只能够重写父类的声明为public和protected的非final方法

  重写的方法能够抛出任何非强制异常,无论被重写的方法是否抛出异常。但是,重写的方法不能抛出新的强制性异常,或者比被重写方法声明的更广泛的强制性异常,反之则可以。

  构造方法不能被重写。

  如果不能继承一个方法,则不能重写这个方法

方法重载规则:

  重载(overloading) 是在一个类里面,方法名字相同,而参数不同。返回类型可以相同也可以不同

  被重载的方法必须改变参数列表(参数个数或类型或顺序不一样);

  被重载的方法可以改变返回值类型

  被重载的方法可以改变访问修饰符

  方法可以在同一个类中或者子类中被重载

  

  

原文地址:https://www.cnblogs.com/BatmanY/p/8758762.html

时间: 2024-10-02 05:03:42

java方法的重写与重载的相关文章

java实现多态 方法的重写和重载的区别

1.方法的重写 思路:先写一个父类People,在类中定义一个 print方法 ,然后写一个子类 Student 继承父类,重写print方法. //父类 class People{ public void print(){ System.out.println("这是父类的print方法!"); } } //子类 继承父类 class Student extends People{ public void print(){ System.out.println("这是子类的

方法的重写与重载

Java 重写(Override)与重载(Overload) 重写(Override) 重写是子类对父类的允许访问的方法的实现过程进行重新编写!返回值和形参都不能改变.即外壳不变,核心重写! 重写的好处在于子类可以根据需要,定义特定于自己的行为. 也就是说子类能够根据需要实现父类的方法. 在面向对象原则里,重写意味着可以重写任何现有方法.实例如下: class Animal{ public void move(){ System.out.println("动物可以移动"); } } c

方法的重写与重载的区别(Override与Overload)。重载的方法是否可以改变返回值的类型

方法的重写(Override)与重载(Overload)的区别.重载的方法是否可以改变返回值的类型?[基础] 解释: 方法的重写overriding和重载Overloading是Java多态性的不同表现. 1.重写overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现. 2.如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写(Overriding). 子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被"

JavaSE基础知识(5)—面向对象(方法的重写与重载)

一.重写 1.说明 子类对继承过来的父类的方法进行改造,这种现象称为方法的重写或覆盖或覆写(Override) 2.要求 方法签名完全一致,jdk5.0之后,允许返回类型可以是子类类型,权限修饰符可以更大了 二.重载 1.说明 java中提供了一种机制,允许同一个类中多个同名但参数列表不同的方法存在 2.要求 ①同一个类中②方法名必须相同③参数列表必须不同(参数类型.个数或顺序至少有一样不同)④返回类型无要求⑤修饰符无要求 三.重写与重载对比★   说明 发生范围 方法名 参数列表 返回类型 修

Java 继承与重写、重载

1.类的继承 1)继承 父类:所有子类所共有的属性和行为 子类:子类所特有的属性和行为 通过extends关键字来实现类的继承 子类(Sub class)可以继承父类(Super class)的成员变量及成员方法,同时也可以定义自己的成员变量和成员方法 Java语言不支持多重继承,一个类只能继承一个父类(单一继承),但一个父类可以有多个子类 继承具有传递性,子类的子类可以继承父类的父类的成员变量及成员方法 2)继承中构造方法(super关键字) Java规定:构造子类之前必须先构造父类 子类的构

OC 类的继承、方法的重写和重载

一.类的继承 Objective-c中类的继承与C++类似,不同的是Objective-c不支持多重继承,一个类只能有一个父类,单继承使Objective-c的继承关系很简单,易于管理程序.Objective-c中所有类的父类是NSObject. Objective-c中类的继承例子: @interface Person: NSObject { NSString* name; int age; } - (NSString*) name; - (int) age; - (void) setName

C# 继承实现父类方法、重写、重载

继承是派生类(子类)去实现(重写<override>.重构<new>)基类(父类)的方法或属性.从而获取在派生类中要实现的功能. 子类调用父类构造方法,在父类中有个实现姓名和年龄的构造方法但是中子类也要实现这样的功能这时子类不用再次去写这个功能只要去调用父类的功能即可. public class Person { private string _name = null; private int _age = 0; public Person(string name, int age

Java——方法的重写(覆盖)

2.2方法的重写(覆盖)(override,orverwrite) 2.2.1 什么时候方法要进行重写? 如果父类中的方法已经无法满足当前子类的业务需求,需要将父类中的方法进行重新写一遍.就是要改变父类的行为. 注意:子类如果重写父类中的方法之后,子类对象一定调用的是重写之后的方法. 2.2.2 发生方法覆盖的条件 ①发生在具有继承关系的两个类之间 ②必须具有相同的方法名,相同的返回值类型,相同的参数列表. ③重写的方法不能比被重写的方法拥有更低的访问权限. ④重写的方法不能比被重写的方法抛出更

Java方法覆盖重写

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