首页 > 编程语言 > Java基础知识点(方法的重写)

Java基础知识点(方法的重写)

时间:2023-03-20 22:01:59浏览次数:45  
标签:知识点 Java 继承 重写 子类 父类 方法 eat

一 定义:当父类的的方法不能满足子类现在的需求时,需要进行方法重新。

 在我看来方法的重写就是父类的方法中的行为不能表达出子类的特征,而子类还需要进行行为而对父类的方法进行再一次书写。简单来说就是将父类的方法再一次克隆到子类当中。

二:格式

在继承体系中,子类出现了和父类中一摸一样的方法声明,我们就称子类这个方法是重写的方法。

注意:每一次在子类重写的方法上面尽量都书写@Override,这个方式叫重写注解,这个方式可用于检验重写的父类方法是否正确,如果有红色波浪线报红,说明重写的方法语法错误。

class Animal{
//定义动物吃的东西
public void eat(){
System.out.println("动物在吃东西");
}

]

//定义狗继承动物类
class Dog extends Animal{
//重写父类中的eat的方法
@Override
public void eat(){
System.out.println("吃骨头");
}

}

​三:方法重写的本质

在这里我用语言来描述一下:首先B类继承C类,然后A类继承B类。

注意:虚方法表里面就是就是非private ,非static ,非final的方法。

然后B类的虚方法表在C的基础上再添加自己类中的的虚方法。同样A类的虚方法表会在B的基础上再添加自己类中的的虚方法。

如果发生了重写,就会覆盖。

四:方法重写的注意事项和要求:

1.子类中重写的方法的名称和形参列表必须与父类中一致。

2.子类重写父类方法时,访问权限子类必须大于等于父类(default<protect<public)

3.子类重写父类方法时,返回值类型必须小于等于父类。

4.只有被添加到虚方法表中的方法才能被重写。

5.建议重写的方法尽量和父类保持一致。

                      Java基础知识点(方法的重写)_父类

标签:知识点,Java,继承,重写,子类,父类,方法,eat
From: https://blog.51cto.com/u_15912723/6138641

相关文章

  • Java基础知识点(继承中构造方法的的访问特点
    一:概述​1.父类的构造方法不会被子类继承。2.子类中的构造方法默认先访问父类中的无参构造,在执行自己。换句话来说,子类不能得到父类的的构造方法,子类进行构造方法默认先访问......
  • java内部类
    1. 内部类    1)内部类可以分为:非静态内部类、静态内部类、成员内部类    2)内部类是可以用private与protected 修饰   2. 非静态内部类  ......
  • Java 线程通信
    相信大家在实际工作中,都或多或少了解过生产者消费者模型,在一些基于内存进行设计的消息队列模型中,当有新消息写入的时候,消息会被投递到一条内存队列中,然后消费者会自动收到......
  • PowerDesigner Could not Initialize JavaVM!
    这里有解决办法:​http://lyt5664681.blog.163.com/blog/static/28130046201092032812336​​但是,我的还是没能解决,后来看了java_home变量是前面多了一个";"比如java_hom......
  • java基础_引用数据类型_数组_2
    前言紧接上回没讲完的数组,接下来讲多维数组,以二维数组为例。二维数组的定义二维数组就是一个特殊的一维数组,其每一个元素都是一个一维数组。如何使用方法一:声......
  • java.lang.AssertionError: The following types on /data/ must be associated with
    1.自己在data/tcpdump 下定义了 tcpdump_file类型的文件 file_context/data/tcpdump(/.*)?u:object_r:tcpdump_file:s0file.tetypetcpdump_file,file_type;2......
  • 关于JavaWeb中常见的Artifacts是什么东西?
    Artifacts其实就是包括了一些module打包的方式,Artifacts中文名为工件,如下图,当我们点击添加工件后,就会出现一些可以添加的类型,有jar、war等等,所以Artifacts自己并不是一种包......
  • java Unicode 转为中文
    publicstaticStringdecodeUnicode(StringtheString){charaChar;intlen=theString.length();StringBufferoutBuffer=newStringBuffer(len);fo......
  • JavaScript获取图片的原始尺寸
    页面里的img元素,想要获取它的原始尺寸,以宽度为例可能首先想到的就是width,如下<imgsrc="http://img11.360buyimg.com/da/g14/M07/01/0E/rBEhVlNhh8wIAAAAAADmFBLo1twAAM2......
  • Java 给ArrayList中的元素去重且顺序不变
    importjava.util.ArrayList;importjava.util.LinkedHashSet;publicclassMainClass{publicstaticvoidmain(String[]args){//ConstructingAnArray......