一、方法的定义
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还是等于1
change(a); //因为这个a是第5行中的a=1
System.out.println(a); //a=1
}
//返回值为空
public static void change(int a){
a=10; //这只是形式参数的值 其实是不存在的
}
}
引用传递:
package com.oop.demo01;
//引用传递:传递对象,本质是值传递
public class Demo04 { //一个类里只能有一个public class
public static void main(String[] args) {
Person person = new Person(); //创建Person类的 对象person
System.out.println(person.name); //null
change(person);
System.out.println(person.name); //zzz
}
//返回值为空
public static void change(Person a){
a.name="zzz";
}
}
//定义一个Person类
class Person{
String name; //属性name
}