1.方法重载(overloading method)
方法重载是让类以统一的方式处理不同类型数据的一种手段。Java的方法重载,就是在类中可以创建多个方法,它们具有相同的名字,但具有不同的参数和不同的定义。调用方法时通过传递给它们的不同个数和类型的参数来决定具体使用哪个方法, 这就是多态性。下面是一个方法重载的例子:
package overloadangoverrid;
import static org.junit.Assert.*;
import org.junit.Test;
public class overloading {
public static void main(String[] args){
overloading ot=new overloading();
int a1=ot.add();
double a2=ot.add(11.3, 20);
int a3=ot.add(1, 2);
System.out.println("a1="+a1+"\n"+"a2="+a2+"\n"+"a3="+a3);
}
@Test
/*重载是对同名函数的多次加载*/
public int add() {
int a=100;
a=a+20;
return a;
}
@Test
/*重载是对同名函数的多次加载*/
public int add(int a,int b) {
int c=100;
c=c+a+b;
return c;
}
@Test
/*重载是对同名函数的多次加载*/
public double add(double a,int b) {
double c=100;
c=c+a+b;
return c;
}
}
2.方法重写(overiding method)
在Java中,子类可继承父类中的方法,而不需要重新编写相同的方法。但有时子类并不想原封不动地继承父类的方法,而是想作一定的修改,这就需要采用方法的重写。方法重写又称方法覆盖。 若子类中的方法与父类中的某一方法具有相同的方法名、返回类型和参数表,则新方法将覆盖原有的方法。 如需父类中原有的方法,可使用super关键字,该关键字引用了当前类的父类。
父类:OverExtend.java
package OverExtend;
public class OverExtend {
/*父类的方法*/
public String overrid(){
return "这是一个重写方法";
}
public void overr(){};
}
子类:overriding.java
package overloadangoverrid;
import OverExtend.OverExtend;
public class overriding extends OverExtend{
public static void main(String[] args){
overriding or=new overriding();
System.out.print(or.overrid());
or.overr();
}
@Override
public String overrid() {
//super.overrid()是调用父类的overrid()方法
return super.overrid();
}
@Override
public void overr() {
System.out.println("这是一个重写方法");
}
}
分享到:
相关推荐
主要介绍了Java方法重载和重写原理区别解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
对Java中方法的重载和重写的具体描述,有利于区分方法的重载和重写
Java中重载和重写总结,基础知识,概念分清楚,补充基础知识
主要总结了java中的重载和重写的区别,供大家理解参考,有问题可以补充
对java中重载和重写的概念做了详细的介绍和比较
JAVA中的方法重写与方法重载的区别,还算挺详细的
重载与重写的区别,详细描述了java中重载与重写的区别。
本文主要介绍Java 的重载和重写,学习java的同学都知道Java的多态有多重要,这里给大家举例说明函数的重载和重写,希望能帮助有需要的小伙伴
(1)子类的方法的名称及参数必须和所重写的方法完全相同。 (2)子类的方法返回类型必须和所重写的方法相同。 (3)子类方法不能缩小所重写方法的访问权限。 (4)子类方法不能抛出比所覆盖方法更多的...
[Java]重载,重写以及继承,多态的区
方法重载只可以通过方法名和方法参数来区别,即“方法签名” * @return * @throws NumberFormatException */ public int getSides(Object obj) throws NumberFormatException { return 1; } /** * 2....
Java中重载与重写。
java中重载与重写的区别.pdf
java中重载与重写的区别,方法重载是让类以统一的方式处理不同类型数据的一种手段。多个同名函数同时存在,具有不同的参数个数/类型。重载Overloading是一个类中多态性的一种表现。
java中重载与重写的区别.doc.docx
方法重载 :在同一个类中,允许存在多个同名方法,只要它们的参数列表不同,与修饰符和返回值类型无关,这样的多个同名方法之间构成重载。 参数列表:参数个数,参数类型,参数顺序 方法调用:根据实际传入的参数...
重载和重写--java
java 重载,重写以及继承,多态的区别
// 下面几个方法用来验证可以通过定义不同的参数类型和参数的数目进行方法重载。 public void fun(){ System.out.println("method fun in OverloadTest, no parameter"); } public void fun(float f) { System...
我根据我的理解来谈谈Java中重写方法与重载方法的区别。 重写 Java 中重写又叫覆盖,主要是指继承(extends)父类或者实现(implements)接口时将父类或者接口中已经存在的方法进行重新定义。重写的方法在父类...