Maison > Java > javaDidacticiel > le corps du texte

java中方法的重写与重载的区别

伊谢尔伦
Libérer: 2016-11-21 15:02:50
original
1455 Les gens l'ont consulté

重载: 方法名相同,但是参数必须有区别(参数不同可以使类型不同,顺序不同,个数不同)。重写(又叫覆盖): 子类继承父类的方法,并重新实现该方法。

  方法重写使用注意事项:
  1.方法重写时,必须存在继承关系
  2.方法重写时,方法名和形式参数必须一致。
  3.方法重写时 ,子类的权限修饰符需要大于或等于父类的权限修饰符。
  4.方法重写时 ,子类的返回值类型必须小于或等于父类的返回值类型
  5.方法重写时 , 子类的异常类型要小于等于父类的异常类型。

在这里面主要拿第三点来测试:

public  class a{
         public static class People
         {
            public void fun(){};
         }
        static class Student extends People
         {
             protected void fun(){
              System.out.println("dfdfd");
             }
         }
   public static void main(String[] args){
        Student p = new Student();
         p.fun();
         }
}
Copier après la connexion

编译就报错了,如图:

2025.jpg

原因是父类的方法的权限是public ,而子类改为protected,降低了权限,所以只能大于或等于如:

public  class a{
         public static class People
         {
            protected void fun(){};
         }
        static class Student extends People
         {
             public void fun(){
              System.out.println("dfdfd");
             }
         }
   public static void main(String[] args){
        Student p = new Student();
         p.fun();
         }
}
Copier après la connexion

运行成功

2027.jpg

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!