java中实现方法重载怎么声明_JAVA方法的定义和方法的重载Overload

方法就是 给能够解决问题的多行代码取了一个名字的功能块 ,方便我们多次使用; 作用:

main 方法过于臃肿、重复执行的代码块 命名,方便重复使用、方便自上而下分解问题、方便维护代码 一、方法使用 1、语法格式 修饰符 返回值类型 方法名(形式参数列表){ 方法体; } 例:有返回值的方法

public static int sum(int num1,int num2){

return (num1+num2+num3);

}

例:无返回值的方法

public static void sum(int num1,int num2){

int sum = num1+num2+num3;

System.out.println("三数的和=" + sum);

}

2、关键字 void:无返回值 return:用在有返回值的方法中,返回值,并且结束方法; 写在return之后的语句永远执行不要,叫做不可达语句,编程语法不通过 3、签名 方法的签名组成:方法名+参数列表 4、方法的调用 1)同类之内的调用,直接在main方法中调用就可以;分为有返回值的调用和无返回值的调用 例:无法回值的调用

/*

方法的使用

*/

public class Demo01{

public static void main(String[] args){

nineNine();

//无返回值的调用

}

/*

创建一个打印99乘法表的方法

*/

public static void nineNine(){

for(int i=1;i<=9;i++){

for(int j=1;j<=i;j++){

System.out.print(j + "*" + i + "=" + i*j +"\t");

}

System.out.println();

}

}

}

例:有返回值的调用

public class Demo03{

public static void main(String[] args){

byte b1=5;

double result=getArea(b1,3);

}

//求矩形的面积

//返回值:int   参数:长  宽 int w,int h

public static int getArea(int w,int h){

return (byte)(w*h);

}

}

5、类型兼容 在调用方法时,形参与实参,接收类型与返回类型和返回值类型应该保持兼容。 ①形参>=实参 ②接收类型>=返回值类型>=return 类型

二、方法的重载 功能点相同的方法才适合使用重载;重载必须满足如下要求: ①必须是同一个类 ②方法名必须相同 ③参数列表不同 参数列表不同: 参数的个数不同。 参数的对应的数据类型不同。 参数的顺序不同(不同类型的可以交换位置) 例

public class OverLoad05{

public static void main(String[] args){

//test(1,"");

test("",1);

System.out.println("长方形面积"+area(8,9));

System.out.println("圆的面积"+area(6));

System.out.println("梯形形面积"+area(8,9,10));

triangle();

triangle(9);

}

/*

1.求长方形面积        长*宽

2.求圆形面积        π*半径的平方

3.求梯形面积        (上边+下边)*高/2

*/

//1.求长方形面积        长*宽

public static int area(int w,int l){

return w*l;

}

//2.求圆形面积        π*半径的平方

public static int area(double r){

return (int)(3.14*r*r);

}

//3.求梯形面积        (上边+下边)*高/2

public static double area(double w1,double w2,double h){

return ((w1+w2)*h/2);

}

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java方法重载(Overload)和方法覆盖(Override)都是实现多态性的重要手段,但它们的实现方式和应用场景有所不同。 方法重载指在同一个类定义多个方法,它们的方法名相同但参数列表不同,即参数类型、参数个数、参数顺序至少有一个不同。在调用该方法时,编译器会根据实参的类型、个数和顺序选择最匹配的方法进行调用。方法重载通常用于解决同一问题的不同情况,提高代码的复用性和可读性。 例如,下面是一个计算两个数之和的方法add()和一个计算三个数之和的方法add()的例子: ``` public class MathUtils { public int add(int a, int b) { return a + b; } public int add(int a, int b, int c) { return a + b + c; } } ``` 方法覆盖指子类重新定义了父类已经实现方法,即方法名、参数列表和返回值类型都相同。子类的方法必须和父类的方法有相同的方法签名(方法名和参数列表),并且访问权限不能更低,否则会编译错误。在调用该方法时,会根据对象的实际类型选择调用哪个方法方法覆盖通常用于实现多态性,即子类对象可以替换父类对象,实现不同的行为。 例如,下面是一个父类Animal和一个子类Cat的例子: ``` class Animal { public void move() { System.out.println("动物在移动"); } } class Cat extends Animal { public void move() { System.out.println("猫在走猫步"); } } ``` 在这个例子,子类Cat重写了父类Animal的move()方法实现了不同的行为。如果创建一个Cat对象并调用move()方法,会输出“猫在走猫步”。而如果创建一个Animal对象并调用move()方法,会输出“动物在移动”。这就是多态性的体现。 需要注意的是,方法重载方法覆盖的区别在于方法签名是否相同。方法签名包括方法名、参数列表和返回值类型。如果只是返回值类型不同,是不能构成方法重载方法覆盖的。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值