Java中报错方法没有被定义 java中方法没有返回值类型
转载
方法概述
在java中,方法就是用来完成解决某件事情或实现某个功能的办法。
声明一个方法的具体语法格式如
修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数2,......){
执行语句
………
return 返回值;
}
|
- 修饰符:方法的修饰符比较多,有对访问权限进行限定的,有静态修饰符static,还有最终修饰符final等
- 返回值类型:用于限定方法返回值的数据类型
- 参数类型:用于限定调用方法时传入参数的数据类型
- 参数名:是一个变量,用于接收调用方法时传入的数据
- return关键字:用于结束方法以及返回方法指定类型的值
- 返回值:被return语句返回的值,该值会返回给调用者
注意:方法中的“参数类型 参数名1,参数类型 参数名2”被称作参数列表,它用于描述方法在被调用时需要接收的参数,如果方法不需要接收任何参数,则参数列表为空,即()内不写任何内容。方法的返回值必须为方法声明的返回值类型,如果方法中没有返回值,返回值类型要声明为void,此时,方法中return语句可以省略。
案例:
public class Function1 {
public static void main(String[] args) {
// 实例化(定义,初始化,创建)一个对象
Function1 fc = new Function1();
// 2.通过对象名.方法名()调用非静态方法
int a = 13;
int b = 30;
fc.total(a, b);
// 3.用一个int类型的变量接收一个有返回值的方法的返回值
int in = fc.total2(a, b);
System.out.println(in);
}
/**
* 定义一个方法,没有返回值,有参数
*
* 功能:可以计算两个数的和
*
* @param a
* int类型的数
* @param b
* int类型的数
*/
public void total(int a, int b) {
int sum = a + b;
// System.out.println(a + b);
}
/**
* 定义一个方法,有返回值,有参数
*
* @param a
* @param b
* @return
*/
public int total2(int a, int b) {
int sum = a + b;
return sum;
}
}
|
什么时候用有返回值的方法,什么时候用没有返回值的方法?
根据实际需求选用
- 没有返回值的方法只能执行一个固定的功能
- 有返回值的方法还可以将有用的数据做为返回值供其他地方使用
- 如何选用:如果只是完成一个功能,就直接用没有返回值的方法,否则用有返回值的方法
方法的重载
Java允许在一个类中定义多个名称相同的方法,但是参数的类型或个数必须不同,这就是方法的重载
特点:
1、方法名一定要一样
2、一定要在同一个类中
注意事项:
重载方法参数必须不同:
参数个数不同,如method(int x)与method(int x,int y)不同
参数类型不同,如method(int x)与method(double x)不同
参数顺序不同,如method(int x,double y)与method(double x,int y)不同
重载只与方法名与参数类型相关与返回值无关
如void method(int x)与int method(int y)不是方法重载,不能同时存在
重载与具体的变量标识符无关
如method(int x)与method(int y)不是方法重载,不能同时存在
案例:
用方法的重载完成:
1个int类型,判断这个数的奇偶
2个int类型的参数,计算两数的和
3个int类型的数用三目运算符得出最大值
4个int类型的数,完成排序
2个float类型,计算乘法
package cn.yueqian.dada;
import java.util.Arrays;
public class Dada {
public static void main(String[] args) {
//调用方法
test(5);
System.out.println("两数和是:"+test(1,2));
System.out.println("三個數的最大值是:"+test(1,2,3));
test(1,5,8,2);
System.out.println("两个folat数的积是:"+test(1f,5f));
//方法重载是看那个最像就调用那个方法
}
//方法的重载
//1个int类型,判断这个数的奇偶
public static void test(int a) {
if(a%2==0) {
System.out.println("这个数是偶数");
}else {
System.out.println("这个数是奇数");
}
}
//2个int类型的参数,计算两数的和--返回一个数
public static int test(int a,int b) {
return a+b;
}
//3个int类型的数用三目运算符得出最大值
public static int test(int a,int b,int c) {
int max= a>b?((a>c)?a:c):((b>c)?b:c);
return max;
}
//4个int类型的数,完成排序
public static void test(int a,int b,int c,int d) {
//创建一个数组
int[] arr= {a,b,c,d};
Arrays.sort(arr);
//遍历数组
for(int ar:arr) {
System.out.print(ar);
}
}
//2个float类型,计算乘法
public static float test(float a,float b) {
return a*b;
}
}
|
本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。