Java重写(Override)&重载(Overload)
2023-09-11 14:16:58 时间
目录
重写(Override)概述
Java面向对象编程中的重写(override)指的是子类可以重写其父类中的非private方法,使得子类在调用该方法时会使用自己的实现而不是父类的实现。
重写(Override)讲解
定义一个名为 Animal 的父类和一个名为 Cat 的子类,其中 Cat 类继承了 Animal 类。Animal 类中有一个名为 move() 的方法,Cat 类可以对这个方法进行重写。
Animal 类中的 move() 方法不是private 类型,因此它可以被其子类重写。在 Cat 类中,使用相同的名称和参数列表来重新定义了 move() 方法,并且使用 @Override 注解向编译器说明这是一个重写方法。
class Animal {
public void move() {
System.out.println("动物可以移动");
}
}
class Cat extends Animal {
public void move() {
System.out.println("猫可以走和跑");
}
}
public class Test {
public static void main(String[] args) {
Animal a = new Animal(); // Animal 对象
Animal b = new Cat(); // Cat 对象
a.move(); // 执行 Animal 类的方法
b.move(); // 执行 Cat 类的方法
}
}
重载(Overload)概述
Java 面向对象中的重载(Overload)指的是在同一个类中声明多个方法,它们拥有相同的名称,但是参数类型或数量不同。这样做的目的是为了提高代码的复用性和可读性。
重载(Override)讲解
这段代码展示了如何在同一个类中使用方法重载的方式来实现不同类型的处理,在 OverloadDemo 类中声明了三个方法,它们的名称相同,但是参数类型不同。
public class OverloadDemo {
public void print(int n) {
System.out.println("Print integer: " + n);
}
public void print(double d) {
System.out.println("Print double: " + d);
}
public void print(String s) {
System.out.println("Print string: " + s);
}
public static void main(String[] args) {
OverloadDemo demo = new OverloadDemo();
demo.print(123);
demo.print(3.14);
demo.print("Hello, world!");
}
}
相关文章
- 《编程导论(Java)·3.1.2 方法》之 副作用
- Docker for Java Developers
- java基础—线程间的通讯 生产者与消费者
- Java IO 之 FileInputStream & FileOutputStream源码分析
- Java: BigInteger & 整形 <=> byte[]
- 【java细节】Java代码忽略https证书:No subject alternative names present
- JAVA础--利用java反射机制绕过编译时的类型检查和访问控制检查
- 玩转MongoDB—使用Go和Java客户端
- Java基础之IO&NIO操作文件流
- java在Linux执行命令Java在Windows执行命令
- 第二十八节:Java基础-进阶继承,抽象类,接口
- Java Number & Math 类,超详细整理,适合新手入门
- 在集成使用华为移动服务的时候会出现 java.security.InvalidParameterException: url is null
- Java中toArray的用法探究(java数组与list转换)
- 《Java编码指南:编写安全可靠程序的75条建议(英文版)》—— 2.8 运行Java程序
- 《Java EE 7精粹》—— 第2章 Servlets 2.1 WebServlet
- Java过滤器处理Ajax请求,Java拦截器处理Ajax请求,java 判断请求是不是ajax请求
- 2018年最新Java面试题及答案整理
- intellij idea 下用java Apache axis 创建WebService 服务端 过程
- Kotlin VS Java:基本语法差异(转载)
- java中的内部类内部接口详解
- 【蓝桥杯Java组】Java选手应知应会的sort排序API详解
- Ubuntu 14.04 & ant: Unable to locate tools.jar. Expected to find it in /usr/lib/jvm/java-7-openjdk-i386/lib/tools.jar
- java操作mongodb(连接池)(转)
- Think in Java(二):初始化与清理
- 简单的JAVA MVC框架模式--Java-servlet-JavaBean
- JAVA & Map集合详解