黑马程序员--重载与重写

原创 2015年07月07日 23:29:25

重载(Overloading)

            方法重载是让类以相同的方式处理不同类型的手段,多个方法具有相同方法名,它们只是参数个数不同或者参数类型不同,调用方法时根据传递进来的参数个数和参数类型来判断调用了哪个方法,重载是类多态性的一种体现。

        方法的重载,必须具有相同的方法名,而参数类型和个数不相同,但是方法的返回值类型不能作为是否重载的依据。

 

       重载事例:

public class A{

         public void  a(){

              System.out.println("------a-----");

         }

       

        public void a(int c){

              System.out.println(c);

       }

 

       public int a(int c,int b){

              System.out.println(c);

                     return (b+c);

       }

 

}

 

而下面所示代码则是错伏的:

public class A{

         public void  a(){

              System.out.println("------a-----");

         }

       

        public void a(int c){

              System.out.println(c);

       }

 

    //只以返回值类型无法作为重载的依据

       public int a(int c){

              System.out.println(c);

                     return c;

       }

 

}

 

 

重写(Overriding)

            子类继承父类,子类继承了父类原有的方法,但是子类不想原封不动的继承父类原有的方法,子类想让方法具有自己想要的行为,这就需要重写,方法的重写又称之为方法的覆盖,子类的方法覆盖了父类的方法。

        若子类中的方法与父类中的某一方法具有相同的方法名、返回类型和参数表,则新方法将覆盖原有的方法。如需父类中原有的方法,可使用super关键字,该关键字引用了当前类的父类。

 

      示例代码:

 class A{

      public void a(){

            System.out.println("我是A");

      }

}

//B中的a方法重写了A中的a方法

class B extends A{

      public void a(){

            System.out.println("我是B");

      }

}

 

重载与重写的区别:

       重载与重写都是多态的一种表现,重写是父类和子类之间多态性体现,而重载是一个类自身多态性的体现。

       子类重写父类的方法,子类的方法必须与父类的完全一样,而重载只是方法名相同,而参数个数和参数类型不同。

 

       

 

           

黑马程序员_函数的两个特性(重写和重载)

------- android培训、java培训、期待与您交流! ---------- 函数的两个特性(重写和重载) 第一部分 1、重...

黑马程序员-----java基础五(方法的重载与重写)

------- android培训、java培训、期待与您交流! ----------   黑马程序员-----java基础五(方法的重载与重写)     面向对象方法的重载(overl...

黑马程序员----【javaSE基础】代码练习--重载与重写

一、overload(重载)        同一个类中,存在一个以上的同名函数,只要它们的参数个数或者参数类型不同就可以;重载与返回值无关,只看参数列表。例如,  ①int add(int x, ...

黑马程序员--类成员方法的重载与覆盖

——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! —— 类成员方法的重载与覆盖 一、在子类继承父类成员的同时,...
  • wwwdai
  • wwwdai
  • 2015年03月08日 18:05
  • 352

黑马程序员--Java基础加强--04.代码简化 书写规律III_数组参数【重载】【数组】【可变参数数组】【泛型可变参数数组】【个人总结】

代码简化 书写规律III –数组参数       重载        数组        可变参数数组            泛型可变参数数组 ----------- android培训、java培...

黑马程序员-------运算符重载(一)

---------------------- http://edu.csdn.net"target="blank">ASP.Net+Android+IOS开发、.Net培训、期待与您交流! -----...

黑马程序员--.NET笔记--枚举、数组、排序、方法、变量的作用域、重载

---------------------- ASP.Net+Android+IO开发S、.Net培训、期待与您交流! ----------------------   常量: 语法:const...
  • lhuan7
  • lhuan7
  • 2013年01月07日 13:24
  • 475

黑马程序员 - 学习笔记1 重载方法

------- Windows Phone 7手机开发、.Net培训、期待与您交流! -------    ------- Windows Phone 7手机开发、.Net培训、期待与您交流! -...
  • jsonon
  • jsonon
  • 2014年07月21日 17:53
  • 307

黑马程序员——2.2.基础语法(函数、重载、数组、内存划分,进制转换)

Java基础语法(函数、重载、数组、内存划分,进制转换)

黑马程序员—java基础—java基础语法:数组,二维数组,方法重载

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------     一,方法 方法定义:方法是具有特定功能的代码块。 有些时候,我们需要重复执行一...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:黑马程序员--重载与重写
举报原因:
原因补充:

(最多只允许输入30个字)