一、方法的定义
- 修饰符
- 返回类型
修饰符 返回值类型 方法名(...){ //方法体 return 返回值; } =====================例:====================== public String sayHello(){ return "hello world"; } public int max(int a,int b){ return a>b ? a : b; //三元运算符 } public void print(){ // void返回值类型为空 return; }
- break 和 return 的区别
- break: 跳出switch,结束循环
- return: 结束方法,返回一个结果(方法return结束后,return之后的语句无法识别)
- 方法名
- 注意命名规范(常量全大写,类型大驼峰,其他小驼峰)
- 见名知意
- 参数列表
- (参数类型 参数名 , 参数类型 参数名 , …) :自定义输入多少个参数
- (参数类型 参数名)… :…定义可变长参数,可以无限输入参数
- 异常抛出
- 后面讲解
二、方法的调用
-
静态方法
-
非静态方法
-
-
形参和实参
- 实际参数(实参)和 形式参数(形参)的类型必须对应!
//创建一个类 Demo03 public class Demo03 { public static void main(String[] args) { //方法一 int add = Demo03.add(2, 3);//实际参数 System.out.println(add); //方法二 Demo03 demo03 = new Demo03(); int i = demo03.addOne(3, 4);//实际参数 System.out.println(i); } //创建加法方法 //方法一 public static int add(int a,int b){//形式参数 return a+b; } //方法二 public int addOne(int a,int b){//形式参数 return a+b; } }
- 实际参数(实参)和 形式参数(形参)的类型必须对应!
-
值传递和引用传递
- 值传递
//值传递 public class Demo04 { public static void main(String[] args) { int a=1; System.out.println(a);//1 Demo04.change(a);//没有返回值,a只是相当于复制一份传给change方法,本身是不变的 System.out.println(a);//1 } //返回值为空 public static void change(int a){ a = 10;//此处a=10改的是形参的值 } }
- 引用传递
// 引用传递:传递对象,本质还是值传递 public class Demo05 { public static void main(String[] args) { Person person = new Person(); System.out.println(person.name);//null Demo05.change(person); System.out.println(person.name);//衬衫 } public static void change(Person person){ //person 是一个对象:指向的是 ---> Person person = new Person();这是一个具体的人,可以改变属性! person.name = "衬衫"; } } //定义了一个Person类,有一个属性:name class Person{ String name; }
- 值传递
-
this关键字