Java基础方法重写

简介: Java基础方法重写

关于java语言当中的方法的覆盖


1.方法覆盖又被称为方法重写,英语单词:override【官方】/override


2.什么时候使用方法重写?


当父类中的方法已经无法满足当前子类的业务需求,子类有必要将父类中继承过来的方法进行重新编写,这个重新编写的过程称为方法重写/方法覆盖


3.什么条件满足之后方法会发生重写呢?【代码满足之后,就构成方法的覆盖?】


方法重写发生在具有继承关系的父与子之间


方法重写的时候:返回值类型相同,方法名相同,形式参数相同


方法重写的时候:访问权限不能太低,可以更高


方法重写的时候:抛出异常不能更多,可以更少。


4.建议方法重写的时候尽量复制粘贴,不要编写,容易出错,导致没有产生覆盖


5.注意:


私有方法不能继承,所以不能覆盖


构造方法不能继承,所以不能覆盖


静态方法不存在覆盖。


覆盖只针对方法,不谈属性。


关于java语言当中的方法重载


1.方法重载又称为Overload


2.方法重载在什么时候使用?


当在同一个类中,方法完成的功能是相似的,建议方法名相同,这样方便程序员的编程,就像在调用一个方法似的。代码美观。


3.什么条件满足之后构成方法重载?


在同一个类当中,方法名相同,参数列表不同:类型,顺序,个数


4.方法重载和什么无关?


和方法的返回值类型无关


和方法的修饰符列表无关


示例代码:


class Animal {
  public void move(){
  System.out.println("动物在移动!");
  }
}
class Cat extends Animal {
  public void move() {
  System.out.println("猫在走猫步!");
  }
}
class Bird extends Animal {
  public void move() {
  System.out.println("鸟儿在飞翔!");
  }
}
class YingWu extends Bird {
  //这里的move方法覆盖的是Bird当中的move方法
    public void move() {
    System.out.println("鹦鹉飞不起来!");
  }
}
public class OverrideTest01 {
  public static void main(String[] args) {
    //创建动物对象
    Animal a = new Animal();
    a.move();
    //创建猫类对象
    Cat c = new Cat();
    c.move();
    //创建鸟类对象
    Bird b = new Bird();
    b.move();
    //创建鹦鹉类对象
    YingWu y = new YingWu();
    y.move();
}
}
相关文章
|
7月前
|
开发框架 算法 Java
Java方法重写(Override)与重载(Overload)的详细对比
在Java编程中,多态性是面向对象编程的核心概念之一。Java通过两种重要的机制来实现多态:方法重写(Override)和方法重载(Overload)。虽然这两个概念都与方法的不同实现有关,但它们在本质上有很大的区别。本文将详细对比这两种机制,帮助开发者更好地理解和应用它们。
614 5
|
9月前
|
存储 Java 开发者
【潜意识Java】深入详细理解分析Java中的toString()方法重写完整笔记总结,超级详细。
本文详细介绍了 Java 中 `toString()` 方法的重写技巧及其重要
463 10
【潜意识Java】深入详细理解分析Java中的toString()方法重写完整笔记总结,超级详细。
|
Java
【Java基础】输入输出流(IO流)
Java基础、输入输出流、IO流、流的概念、输入输出流的类层次结构图、使用 InputStream 和 OutputStream流类、使用 Reader 和 Writer 流类
416 2
|
存储 缓存 Java
java基础:IO流 理论与代码示例(详解、idea设置统一utf-8编码问题)
这篇文章详细介绍了Java中的IO流,包括字符与字节的概念、编码格式、File类的使用、IO流的分类和原理,以及通过代码示例展示了各种流的应用,如节点流、处理流、缓存流、转换流、对象流和随机访问文件流。同时,还探讨了IDEA中设置项目编码格式的方法,以及如何处理序列化和反序列化问题。
323 1
java基础:IO流 理论与代码示例(详解、idea设置统一utf-8编码问题)
|
安全 Java API
【Java面试题汇总】Java基础篇——String+集合+泛型+IO+异常+反射(2023版)
String常量池、String、StringBuffer、Stringbuilder有什么区别、List与Set的区别、ArrayList和LinkedList的区别、HashMap底层原理、ConcurrentHashMap、HashMap和Hashtable的区别、泛型擦除、ABA问题、IO多路复用、BIO、NIO、O、异常处理机制、反射
【Java面试题汇总】Java基础篇——String+集合+泛型+IO+异常+反射(2023版)
|
Java 编译器
Java面向对象(三)详解: 封装 | 继承 | 方法重写 | 抽象类
Java面向对象(三)详解: 封装 | 继承 | 方法重写 | 抽象类
220 2
|
搜索推荐 算法 Java
【Java基础】 几种简单的算法排序
几种简单的JAVA算法排序
122 4
Java基础教程(12)-Java中的IO流
【4月更文挑战第12天】Java IO涉及输入输出,包括从外部读取数据到内存(如文件、网络)和从内存输出到外部。流是信息传输的抽象,分为字节流和字符流。字节流处理二进制数据,如InputStream和OutputStream,而字符流处理Unicode字符,如Reader和Writer。File对象用于文件和目录操作,Path对象简化了路径处理。ZipInputStream和ZipOutputStream则用于读写zip文件。
129 2