zoukankan      html  css  js  c++  java
  • java 重载和覆盖

    重载overload 和 覆盖override 是多态的两种表现形式。

    重载overload,发生在同一类中,相当于不同的方法,只是因为功能类似所以起了相同的名字,必须包含不同的参数可以使用不同的返回值类型。如代码:

     1 public class OverloadTest {
     2     
     3     public void loadTest(){
     4         System.out.println("loadTest第一个");
     5     }
     6     
     7     public void loadTest(String p_string){
     8         System.out.println("loadTest第二个");
     9     }
    10     
    11     public int loadTest(int p_time){
    12         System.out.println("loadTest第三个");
    13         return p_time + 100;
    14     }
    15     
    16     public String loadTest(int p_time, String p_str){
    17         System.out.println("loadTest第四个");
    18         return p_str;
    19     }
    20 
    21 }

    覆盖override,发生在子类中

    先要创建一个父类 OverrideTest

    1 public class OverrideTest {
    2     
    3     public void test1(){
    4         System.out.println("基类的方法");
    5     }
    6 
    7 }

    再创建一个子类去继承父类,可以对父类中的方法进行覆盖,顺便把main函数也写一起了。

     1 public class OverrideExtends extends OverrideTest {
     2     
     3     @Override
     4     public void test1() {
     5         // TODO Auto-generated method stub
     6 //        super.test1();
     7         System.out.println("子类继承之后覆盖后的方法");
     8     }
     9     
    10     public static void main(String[] args){
    11         
    12         OverrideTest ot = new OverrideExtends();
    13         ot.test1();
    14         
    15     }
    16 
    17 }

    这样的话,运行了之后,结果为“子类继承之后覆盖后的方法”,即子类中通过覆盖的方式将父类中的Test1方法进行了重写,使用的时候,就直接执行了子类中的方法。

    注意:

    1. 重写的时候,方法名称必须相同。

    2. 重写的时候,参数必须相同。

    3. 重写的时候,返回值必须相同。(或者都没有)

  • 相关阅读:
    css hack
    纯DIV+CSS制作的三级鼠标经过弹出下拉导航菜单源码
    题解 Luogu P3863 序列
    破解SA的密码的方法
    转 三种方法实现实时切换CSS样式
    SQL Server 性能优化工具(1)
    Sql server中时间查询的一个比较快的语句
    转 CodeForFun编写自动登录Email的程序
    ISAPI_rewrite中文手册
    ASP.NET中实现二级或多级域名(修改UrlRewrite)
  • 原文地址:https://www.cnblogs.com/kevinqinan/p/4482075.html
Copyright © 2011-2022 走看看