方法的概述
方法是将具有独立功能的代码块组织成为一个整体,使其具有特殊功能的代码集,方法必须先创建才能使用,方法创建后并不能直接运行,必须手动执行(main()方法除外),这个过程叫做方法的调用
方法的定义和调用
方法的定义格式
权限修饰符 [static] void 方法名(){
//方法体
return 需要返回的数据,类型必须和返回值类型一致; //返回值为void的时候可以不写,或者写成 return;
}
权限修饰符有 public、default、protected、private,每个修饰符作用不多说,可以自己去看相关的资料
static意思是静态的,被static修饰的方法可以直接使用类名直接访问,在本类中可以只写方法名,不加的话,需要创建实例对象来访问
方法名可以随意写,但是必须遵循命名规则,最好也遵循命名规范
public static int sum(){ //定义了一个静态方法sum(),返回值类型为void,空的
int a=10,b=20;
int sum = a+b;
return sum; //返回的结果必须和方法返回值类型一致
}
public void show(){ //定义了一个非静态方法show(),返回值类型是空的
System.out.println("你好啊!");
return; //可写也可不写
}
方法调用格式
静态方法在本类中的调用格式:
方法名();
静态方法在其他类中的调用格式:
类名.方法名()
非静态方法调用格式:
类名 对象名 = new 类名();
对象名.方法名();
注意:都需要改对象中存在此方法才能调用
静态方法在本类中调用例子:
public class MethodDemo {
public static void main(String[] args) {
sum(); //在本类中可以直接调用,没有返回值类型,不需要接收返回值
}
public static void sum(){
System.out.println("你好");
return; //可写也可不写
}
}
静态方法在其他类中的调用格式:
class Demo{
public static void show(){ //静态方法
System.out.println("你好");
}
}
public class MethodDemo {
public static void main(String[] args) {
Demo.show(); //类名调用,没有返回值类型,不需要接收返回值
}
}
非静态方法调用格式:
class Demo{
public void show(){ //非静态方法
System.out.println("你好");
}
}
public class MethodDemo {
public static void main(String[] args) {
Demo demo = new Demo(); //创建Demo实例对象
demo.show(); //对象名调用,没有返回值类型,不需要接收返回值
}
}
带参数方法的定义和调用
格式:
权限修饰符 [static] void 方法名(参数或参数列表){
//方法体
return 需要返回的数据,类型必须和返回值类型一致; //返回值为void的时候可以不写,或者写成 return;
}
参数:由数据类型和变量名组成 - 数据类型 变量名 ,有多个参数用逗号隔开
例:单个参数:(int num),多个参数(int age,String name)
带参数的方法的定义:
public class MethodDemo {
public static int sum(int num1,int num2){ //定义了有两个参数num1和num2
int sum = num1+num2;
System.out.println(num1+"+" num2 +"的和为:" + sum);
}
}
带参数的方法的调用:
格式:
//如上述的一样,需要看有没有用static修饰这个方法
静态方法在本类中的调用格式:
方法名(参数或参数列表); //返回值类型是什么就用什么类型接收
静态方法在其他类中的调用格式:
类名.方法名(参数或参数列表);
非静态方法调用格式:
类名 对象名 = new 类名();
对象名.方法名(参数或参数列表);
注意:都需要改对象中存在此方法才能调用
这里统一用静态方法演示:
public class MethodDemo {
public static void main(String[] args) {
sum(10,20); //在本类中可以直接调用
}
public static void sum(int num1,int num2){ //有两个参数num1和num2
int sum = num1+num2;
System.out.println(num1+"+" num2 +"的和为:" + sum);
}
}
形参和实参
形参:方法定义中的参数
实参:方法调用中传入的参数 ,可是变量或者常量
public class MethodDemo {
public static void main(String[] args) {
sum(10,20); //调用时候传入的参数叫做实参,可以是变量或者常量
}
public static void sum(int num1,int num2){ //方法这边的参数叫做形参
int sum = num1+num2;
System.out.println(num1+"+" num2 +"的和为:" + sum);
}
}
带返回值的方法的定义和调用
格式:
权限修饰符 [static] 返回值类型 方法名(){
//方法体
return 需要返回的数据,类型必须和返回值类型一致; //返回值为void的时候可以不写,或者写成 return;
}
定义有返回值的方法:
public class MethodDemo {
public static int sum(){ //定义了一个返回值为int类型的方法sum()
int sum = 10+20;
return sum; //返回值类型不是void的时候必须写上return 返回值类型的数据;这里的返回值类型是int,我们就必须返回int类型的数据
}
}
返回值类型可以为:基本数据类型、引用数据类型、void,void就是什么都不返回
有返回值的方法的调用:
//如上述的一样,需要看有没有用static修饰这个方法
静态方法在本类中的调用格式:
返回值类型 = 方法名(参数或参数列表/或者不写参数); //返回值类型是什么就用什么类型接收
静态方法在其他类中的调用格式:
返回值类型 = 类名.方法名(参数或参数列表/或者不写参数);
非静态方法调用格式:
类名 对象名 = new 类名();
返回值类型 = 对象名.方法名(参数或参数列表/或者不写参数);
注意:都需要改对象中存在此方法才能调用
public class MethodDemo {
public static void main(String[] args) {
int sum = sum(); //在本类中可以直接调用,返回值类型为int,需要用int类型的变量接收
System.out.println("10和20的和为:" + sum);
}
public static int sum(int num1,int num2){ //定义了一个返回值为int类型的方法sum()
int sum = 10+20;
return sum; //返回值类型不是void的时候必须写上return 返回值类型的数据;这里的返回值类型是int,我们就必须返回int类型的数据
}
}
总结:
方法总定义格式为:
权限修饰符 [static] 返回值类型 方法名(参数或者参数列表/不写形参){
//方法体
return 需要返回的数据,类型必须和返回值类型一致; //返回值为void的时候可以不写,或者写成 return;
}