一、方法的定义
1.修饰符(public static…)详见博客【Java 方法的定义】
2.返回值(int, double, char[],…., void)详见博客【Java 方法的定义】
3. break:跳出switch 结束循环,详见博客【Java中 break、continue 关键字的使用】。
return代表方法结束,return后面再写任何语句都会报错。
4.方法名:规范,见名知意。详见博客【Java变量、作用域、常量、变量命名规则】
5.参数列表:(参数类型,参数名)详见博客【Java 可变参数】
6.抛出异常:提示错误使用了方法
二、方法的调用
1.静态方法:加修饰符static。调用:类名.方法
2. 非静态方法:无static。调用:先new一个对象,再用 对象.方法 调用
补充:静态方法不能调用非静态方法(其他类型都可以:静态-静态,非静态-静态,非静态-非静态)。因为静态方法和类一起加载(开始就存在),非静态方法需要对类实例化了才真是存在(开始不存在)。因此一个存在的方法肯定不能调用不存在的方法。
3. 形参和实参:详见博客【Java 方法的定义】
4.值传递和引用传递
值传递:
package com.oop.demo01;//值传递
public class Demo03 {public static void main(String[] args) {int a=1;System.out.println(a); //a=1//调用change方法后,a还是等于1change(a); //因为这个a是第5行中的a=1System.out.println(a); //a=1}//返回值为空public static void change(int a){a=10; //这只是形式参数的值 其实是不存在的}
}
引用传递:
package com.oop.demo01;//引用传递:传递对象,本质是值传递
public class Demo04 { //一个类里只能有一个public classpublic static void main(String[] args) {Person person = new Person(); //创建Person类的 对象personSystem.out.println(person.name); //nullchange(person);System.out.println(person.name); //zzz}//返回值为空public static void change(Person a){a.name="zzz";}
}//定义一个Person类
class Person{String name; //属性name}