首页 > 其他分享 >26.方法重写

26.方法重写

时间:2023-03-22 11:33:41浏览次数:29  
标签:26 静态方法 重写 子类 test new 方法 public

方法重写

这一篇的代码内容拆分为三个java文件,注意辨别

public class Application {

    public static void main(String[] args) {

//        //静态方法
//        A a = new A();
//        a.test(); //A->test()
//
//        B b = new A();
//        b.test(); //B->test()


        //非静态方法
        A a = new A();
        a.test(); //A->test()

        B b = new A(); //父类的引用指向了子类,子类重写了父类的方法
        b.test(); //A->test()
    }

}

即b是A new出来的对象,因此调用了A的方法
因为静态方法是类的方法,而非静态是对象的方法
有static时,b调用了B类的方法,因为b是用b类定义的
没有static时,b调用的是对象的方法,而b是用A类new的
public class B {
      //静态方法
//    public static void test(){
//        System.out.println("B->test()");
//    }
    
    //非静态方法
    public void test(){
        System.out.println("B->test()");
    }
}
public class A extends B{

      //静态方法
//    public static void test(){
//        System.out.println("A->test()");
//    }

    //非静态方法
    @Override
    public void test() {
        System.out.println("A->test()");
    }
}

A类、B类均有两个不同方法,静态与非静态

A类是B类的子类

重写:需要有继承关系,子类重写父类的方法
1.方法名必须相同
2.参数列表必须相同
3.修饰符:范围可以扩大不能缩小 public > Protected > Default > private
4.抛出的异常:范围,可以被缩小,不能扩大

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

为什么要重写?
父类的功能,子类不一定需要,或者不一定满足

标签:26,静态方法,重写,子类,test,new,方法,public
From: https://www.cnblogs.com/Zz1001/p/17243076.html

相关文章

  • 解决Kafka总是丢消息的方法和原理
    注:本文转自:https://www.toutiao.com/article/7210953985497678347/?log_from=f0ecce317abb8_1679450040551引入MQ消息中间件最直接的目的:系统解耦以及流量控制(削峰填谷)......
  • adobe应用安装提示【错误代码1】解决方法~
    日常安装adobe应用难免出现一些异常问题,今天分享的adobe应用安装提示【错误代码1】解决方法,来简单高效的解决您出现该异常时的困扰!在您收到错误1并且安装失败时候,该如何处......
  • Android 上网流量监控方法
    一.下提供两种方法获取上网流量相关信息。利用TrafficStats(2.2版本以上)TrafficStats类存在好几个查看流量的方法,具体说明参照SDK。getMobileRxByte......
  • 处理URL重写后postback重写失效的问题 .browser文件
     大家在使用ASP.NET和重写URL时经常遇到的一个疑难杂症跟处理postback场景有关,具体地来说,当你在一个网页上放置一个<formrunat="server">控件时,ASP.NET会自动地默认输......
  • 前端设计模式——模板方法模式
    模板方法模式(TemplateMethodPattern):定义一个行为的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个行为的结构即可重定义该行为的某些特定步骤。这些步......
  • 学习方法
    看马林老师讲关于学习方法的视频,做了一个思维导图。B站链接:点这 ......
  • 读取文件的三个方法
    packagemainimport( "bufio" "fmt" "io" "io/ioutil" "os")funcdome01(){ file,err:=os.Open("E:\\GOGO\\GOE\\dome01\\main.go") iferr!=nil{ ......
  • ServletContext常用方法
     publicclassServletContextDemoextendsHttpServlet{@OverrideprotectedvoiddoGet(HttpServletRequestreq,HttpServletResponseresp)throwsSer......
  • 获取以今天为起始日期后两周的日期的Java方法
    importjava.text.SimpleDateFormat;importjava.util.Calendar;importjava.util.Date;publicclassDateUtils{publicstaticStringgetTwoWeeksLaterDate()......
  • Vscode PlatformIO PIO Home Loading 解决方法!
    关闭Vscode,打开CMD运行piohome即可看到这货有依赖正在下载!将电脑wifi链接手机热点(我用的联通卡)即可秒速下载完成,并自动打开PIOHOME!黄色部分是使用代理不成功的提......