10.方法重写Override

方法重写:Override: 需要有继承关系,子类重写父类的方法!

  1. 方法名必须相同
  2. 参数列表必须相同
  3. 修饰符:范围可以扩大,但不能缩小:public>protected>defalut>private
  4. 抛出异常:范围,可以被缩小,但不能扩大;ClassNotFoundException-->Exception

重写,子类的方法和父类的必须要一致;方法体不同!

为什么需要重写?

  1. 父类的功能,子类不一定需要,或者不一定满足!
  2. Alt+Insert:Override;
1 package com.oop.demo05;
2
3 //重写都是方法的重写,和属性无关
4 public class B {
5     public void test() {
6         System.out.println("B=>test");
7     }
8 }
 1 package com.oop.demo05;
 2
 3 //继承
 4 public class A extends B {
 5
 6     //Override 重写
 7     @Override//注解:有功能的注释!
 8     public void test() {
 9         System.out.println("A=>test()");
10     }
11 }
 1 package com.oop;
 2
 3 import com.oop.demo05.A;
 4 import com.oop.demo05.B;
 5
 6 public class Application {
 7
 8     public static void main(String[] args) {
 9
10         //方法的调用只和左边,定义的数据类型有关
11         A a = new A();
12         a.test();//A=>test
13
14         //父类的引用指向了子类
15         B b = new A();//子类重写了父类的方法,以子类重写过后的为准!
16         b.test();//A=>test
17     }
18 }

原文地址:https://www.cnblogs.com/duanfu/p/12222572.html

时间: 2024-10-06 06:48:19

10.方法重写Override的相关文章

c# 中面相对性的三个特点:封装,继承,多态, 以及c#中隐藏(new)和方法重写(override)和重载(overload)的区别

封装 1)封装原则:将不需要对外提供的内容都隐藏起来,把属性都隐藏,提供公共方法对其访问,通常有两种访问方式:set 设置,get 获取. 2)封装结果:存在但是不可见. 3) 访问修饰符 声明的可访问性                                 含义 public                                    访问不受限制. protected                              访问仅限于本类或者其子类(可以跨程序集). p

面向对象的过程、继承、封装、多态;抽象类、访问修饰符的使用、引用类型强制转换、方法重写@override与重载、空指针异常、super关键字

面向对象设计的过程:     发现类-发现类的属性-发现类的方法-优化设计: 封装: private类型的,只可以在本类中使用,当其他类调用此类时,不可使用,因此可以设置setget方法,如下所示: 构造------------------------ 默认有无参构造,若设置了有参构造,则就没有默认的无参构造了,需要自己再添加一个 方法重载------------------- 方法名相同,参数列表不同(类型,数量,顺序不同,与参数名无关): 与返回值,访问修饰符无关 面向对象(OO)的优点--

PHP 方法重写override 与 抽象方法的实现之间的关系

重写由final关键字决定,但受父类的访问权限限制 实现基于继承,所以实现父类的抽象方法必须可访问到,父类抽象方法不可为private 1.父类某方法能否被子类重写与此方法的访问级别无关 public protected private对某方法内否被重写没有影响,能否被重写要看此方法是否被final修饰(final类不可被继承,final方法不可被重写) 2.但重写方法要受到访问级别的限制,即访问权限不可提升规定 (不仅仅是PHP,其他面向对象语言依然适用),访问权限只可以降低,不可以提升. 3

疯狂java学习笔记之面向对象(六) - 构造器重载、方法重载和方法重写

一.方法重载(Overload): Java允许同一个类中定义多个同名方法,只要形参不一样就可以,如果同一个类中包含了两个或两个以上方法名相同的方法,但形参列表不同,则被成为方法重载(两同一异). 同时这这里我们需要注意以下两点:  A.方法重载与返回值类型没有任何关系;  B.方法重载与是否有static修饰没有任何关系. 那我们如何才能确定到底调用的哪个方法呢?  A.主调者:明确是谁在调用这个方法,是类还是对象  B.方法名和形参:确定调用哪个方法(由方法名和形参共同决定) 例1: 1 p

方法重写和方法重载的区别?

**方法重载:overload一个类中你有了一个方法A,在这个类中你又写了一个方法B,方法A和方法B的方法名一样,但参数不同,返回值类型不同,与返回值无关,此时方法B重载了方法A;参数不同体现在:(1): 参数类型不同;(2): 参数个数不同;(3): 参数顺序不同;例如:public class TestClass{方法A:public int add (int a,int b){return a+b;}方法B:public int add (float a){return a+b;}}此时方

实习第一周第一天:接口 extends是继承类,implement是实现接口,原接口里面的方法填充,方法名也是不变,重写override是父类的方法名不变,把方法体给改了

一.定义 Java接口(Interface),是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能). 接口定义的一般形式为: [访问控制符]interface <接口名> { 类型标识符final 符号常量名n = 常数: 返回值类型  方法名([参数列表]); - } 二.接口的特点 1.Java接口中的成员变量默认都是public,static,final类型的(都可省略),必须被显

22.1 Extends 继承的 方法重写、@Override的使用、

/* * 继承中成员方法的特点 * 子类中没有这个方法,调用父类的 * 子类中重写了这个方法,调用子类的 * 方法的重写:在子父类当中,子类的方法和父类的完全一样,子类重写了父类的方法(覆盖),当子类重写了父类的方法之后,使用子类对象调用的就是子类的方法 方法的重载:在一个类中,有多个重名的方法,但是其参数不一样(参数的个数,参数的类型,参数的顺序),和返回值无关 * 方法重写的应用场景:当父类的方法不能完全满足子类使用,这个时候子类重写父类的方法, * 并可以在方法中使用关键字super调用父

1-9方法的重写(override)

什么是重写? 重写,也叫做覆盖,当父类中的方法无法满足子类需求时,子类可以将父类的方法进行重写编写来满足需求.比如孩子继承了父亲的房子,可以将房子重新装修. 方法重写的条件: 两个类必须是继承关系 必须具有相同的方法名,相同的返回值类型,相同的参数列表. 重写的方法不能比被重写的方法拥有更低的访问权限. 重写的方法不能比被重写的方法抛出更宽泛的异常.(关于异常后面的章节再讲.) 私有的方法不能被重写. 构造方法无法被重写,因为构造方法无法被继承. 静态的方法不存在重写. 重写指的是成员方法,和成

JAVA SE中方法重载和方法重写及数据库中子程序的重载

首先方法重写和方法重载是建立在Java的面向对象的继承和多态的特性基础上而出现的.至于面向对象的继承和多态的特性我就不在这里多说了.继承是指在一个父类的基础再创建一个子类,这样子类就拥有了父类的非私有的特性,同时子类还可以扩展自己的特性,这样就引出了方法重写和方法重载! 一.方法重写(Override)         在Java中如何来定义重写:Java程序中类的继承特性可以产生一个子类,子类继承父类就拥有了父类的非私有的属性(方法和变量),在子类中可以增加自己的属性(方法和变量),同时也可以