zoukankan      html  css  js  c++  java
  • Java 中的覆盖@Override注解 写与不写的一点点理解

    1. /*俺的菜鸟笔记 
    2.     Java 中的覆盖@Override注解 写与不写的一点点理解 
    3.     一般来说,写与不写没什么区别,JVM可以自识别 
    4.     写的情况下:即说明子类要覆盖基类的方法,基类必须存在方法 
    5.                         (控制类型public,protected,返回值,参数列表类型)与子类方法完成一致的方法,否则会报错(找不到被Override的方法)。 
    6.     在不写@Override注解的情况下,当基类存在与子类各种条件都符合的方法是即实现覆盖; 
    7.     如果条件不符合时,则是当成新定义的方法使用。 
    8.     所以如果想覆盖基类方法时,最好还是写上@Override注解,这样有利于编译器帮助检查错误 
    9. */  
    10. //示例:  
    11. public class OverrideTest extends Test{  
    12.     @Override//此处写与不写都能覆盖基类的t(String)方法  
    13.     public void t(String s){  
    14.         System.out.println("OverrideTest.t(String):" + s);  
    15.     }  
    16.     //此处不能写@Override注解,因为方法参数类型与基类的t2方法的参数类型不同  
    17.     //所以此处只能新定义了一个t2(float)方法,并不能实现覆盖  
    18.     public void t2(float f){  
    19.         System.out.println("OverrideTest.t2(float):" + f);  
    20.     }  
    21.     public static void main(String[] args){  
    22.         OverrideTest ot = new OverrideTest();  
    23.         ot.t("china34420");  
    24.         ot.t2(1.0f);  
    25.         ot.t2(1);  
    26.         ot.t3();  
    27.     }  
    28. }  
    29. /*输出: 
    30.     OverrideTest.t(String):china34420 
    31.     OverrideTest.t2(float):1.0 
    32.     Test.t2(int):1 
    33.     OverrideTest.t(String):override 
    34. */  
    35.   
    36. class Test{  
    37.     public void t(String s){  
    38.         System.out.println("Test.t(String):" + s);  
    39.     }  
    40.     public void t2(int i){  
    41.         System.out.println("Test.t2(int):" + i);      
    42.     }  
    43.     public void t3(){  
    44.         t("override");    
    45.     }  
    46. }  
  • 相关阅读:
    WinForm绘制带有升序、降序的柱形图
    WinForm绘制柱形图
    WinForm绘制文本--字体加粗、倾斜、下划线
    WinForm绘制直线、曲线、矩形、椭圆、圆弧
    DataGridView动态添加下拉列表DataGridViewComboBoxColumn并为下拉列表设置默认值
    winform DataGridView设置选中单元格整行变色和隔行变色
    winform DataGridView设置行高 列宽 设置内容格式 验证输入单元格的内容是否正确
    winform定义static变量窗体传值
    C#中英文逗号之间的相互转化
    c#: WebBrowser 禁止在新窗口打开链接
  • 原文地址:https://www.cnblogs.com/xiaona19841010/p/5153284.html
Copyright © 2011-2022 走看看