Day36-20260204

重写:

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

1.方法名必须相同

2.参数列表必须相同

3.修饰符:范围可以扩大:

Public>Protected>Default>Private

公开的>受保护的>默认的>私有的

4.抛出的异常:范围可以被缩小,但不能扩大:

ClassNotFoundException-->Exception(范围很大)

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

为什么需要重写:

1.父类的功能,子类不一定需要,或者不一定满足!

Alt + Insert : override

java 复制代码
package com.oop.demo05;
//继承
public class A extends B{
//    public static void test(){
//        System.out.println("A=>test()");
//    }
//    public  void test(){
//        System.out.println("A=>test()");
//    }
    //Override   重写
    @Override//注解:有功能的注释
    public void test() {
//        super.test();
        System.out.println("A=>test()");
    }
}
java 复制代码
package com.oop.demo05;
//重写都是方法的重写,和属性无关
public class B {
//    public static void test(){
//        System.out.println("B=>test()");
//    }
    public  void test(){
        System.out.println("B=>test()");
    }
}
java 复制代码
package com.oop;

import com.oop.demo05.A;
import com.oop.demo05.B;
//一个项目应该只存在一个main方法
public class Application {

    //静态的方法和非静态的方法区别很大!
        //静态方法:方法的调用只和左边,定义的数据类型有关
        //非静态的方法:重写
    //重写的方法只能是public的不能是private
    public static void main(String[] args) {
        //方法的调用只和左边,定义的数据类型有关
        A a = new A();
        a.test();//A
        //父类的引用指向了子类
        B b = new A();//子类重写了父类的方法
        b.test();//B
    }
}
java 复制代码
A=>test()
A=>test()

进程已结束,退出代码为 0
相关推荐
云烟成雨TD21 小时前
Spring AI Alibaba 1.x 系列【6】ReactAgent 同步执行 & 流式执行
java·人工智能·spring
Wenweno0o21 小时前
0基础Go语言Eino框架智能体实战-chatModel
开发语言·后端·golang
于慨21 小时前
Lambda 表达式、方法引用(Method Reference)语法
java·前端·servlet
swg32132121 小时前
Spring Boot 3.X Oauth2 认证服务与资源服务
java·spring boot·后端
gelald21 小时前
SpringBoot - 自动配置原理
java·spring boot·后端
殷紫川21 小时前
深入理解 AQS:从架构到实现,解锁 Java 并发编程的核心密钥
java
一轮弯弯的明月1 天前
贝尔数求集合划分方案总数
java·笔记·蓝桥杯·学习心得
chenjingming6661 天前
jmeter线程组设置以及串行和并行设置
java·开发语言·jmeter
殷紫川1 天前
深入拆解 Java volatile:从内存屏障到无锁编程的实战指南
java
eddieHoo1 天前
查看 Tomcat 的堆内存参数
java·tomcat