怎么在Java中重写继承方法

  介绍

本篇文章为大家展示了怎么在Java中重写继承方法,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

package  com.my.pac12;         public  class  Person  {   public 才能;void 说(){   ,,,System.out.println (“say …“);   ,,}   public 才能;static  void 参见(){   ,,,System.out.println(“阅读。“);   ,,}   public 才能;int  returnNumber (int 数量){   ,,,return 数量;   ,,}   private 才能;void 运行(){   ,,,System.out.println (“running …“);   ,,}   public 才能;Person  returnPerson () {   ,,,return ;   ,,}   }   class  student  extends 人{//才能方法名相同,形参列表相同   public 才能;void 说(){   ,,,System.out.println (“student  say 一些。“);   ,,}//才能返回类型为父类或父类的子类   public 才能;Person  returnPerson () {   ,,,System.out.println(“子类返回类型可以是父类返回类型或者是其子类类型“);   ,,,return ;   ,,}//才能并不是重写,只是重新定义了新方法   public 才能;void 运行(){   ,,,System.out.println (“student  is 运行。“);   ,,}//不才能是重写,而是发生在父类与子类之间的重载   public 才能;int  returnNuber (int 数字,int  otherNumber) {   ,,,return 数量+ otherNumber;   ,,}   public 才能;static  void  main (String [], args), {   ,,,student  s =, new 学生();   ,,,s.say ();   ,,,student.see ();   ,,,s.see ();   ,,,s.run ();   ,,,//涉及向上转型   ,,,Person  sn =, s.returnPerson ();   ,,,//调用的是父类的方法   ,,,System.out.println (s.returnNumber (5));   ,,,//调用子类重载父类的方法   ,,,System.out.println (s.returnNuber (5,5));      ,,}   }

<>强概念

子类包含与父类同名,同参数列表的现象就是方法重写(覆盖),也叫方法覆盖。

<强>注意事项

“两同两小一大“

方法名相同,形参列表相同。

子类方法返回值类型小于等于父类方法返回值类型。

//父类   public  int  returnNumber (int 数字){   return 才能;数量;   }/*基本类型:子类返回值类型小于等于父类返回值类型、下面的语句不允许*///子类   public  long  returnNumber (int 数字) //父类   public  void 说(){   System.out.println才能(“say …“);   }/*空类型只能由同样孔隙类型的方法重写*///子类   public  void 说(){   System.out.println才能(“student  say 一些。“);   } //父类   public  Person  returnPerson () {   return 才能;;   }/*引用类型:子类返回值类型需要与父类相同或者是父类的子类*///子类   public  Person  returnPerson () {   System.out.println才能(“子类返回类型可以是父类返回类型或者是其子类类型“);   return 才能;;   }

子类方法声明抛出的异常类小于等于父类抛出的异常类。(这个部分之后再进行补充)

子类方法的访问权限大于等于父类方法的访问权限。

//父类   public  void 说(){   System.out.println才能(“say …“);   }/*子类方法的访问权限大于等于父类方法的访问权限,下面的语句不允许*///子类   私人(protected 或是缺省),void 说()

<强>其他注意点

两者必须同为类方法或者同为实例方法。(实际上类方法无法被重写,只是单纯被隐藏起来,关于静态关键字之后再总结)

//父类   public  static  void 参见(){   System.out.println才能(“阅读。“);   }/*两者必须同为类方法(静态修饰)或者同为实例方法、下面的语句不允许*///子类   public  void 见()

父类被私人修饰,子类无法重写父类。

//父类   private  void  run () {   System.out.println才能(“running …“);   }/*子类无法重写方法、下面的语句是假象,其实是重新定义了一个新方法*///子类   public  void  run () {   System.out.println才能(“student  is 运行。“);   }

怎么在Java中重写继承方法