回顾方法的定义和调用
package se.oop;
//Dome01就是类
public class Demo01 {
//main方法
public static void main(String[] args) {
}
/*修饰符 返回值类型 方法名(形参)
//方法体
return:返回值
*/
//return:结束方法,返回一个值
//break:switch语句是跳出,循环语句是结束循环
//返回值类型必须与返回的值相同
public String sayhello(){
return "hello";
}
public void test(){
return;
}
public static int max(int a,int b){
return a>b ?b:a;
}
}
回顾方法的调用
public class Demo02 {
public static void main(String[] args) {
//静态方法 static
//可以直接输入类名+方法名调用
Student.say();
//非静态方法 就是没有static
//首先需要实例化类:new
//再输入类名+方法名调用
//对象类型 对象名 = 对象值
Student student = new Student();
student.say2();
//实际参数与形式参数的类型要一样!!!
Demo02 demo02 = new Demo02();
int add = demo02.add(1,2);
System.out.println(add);
}
public void a(){
//当两个都是非静态方法时可以相互直接调用
//静态方法static是和类一起加载的,非静态是实例化之后才存在的,所有两者之间不能相互调用
b();
}
public void b(){
a();
}
public static void c(){
//当两个都是静态方法时可以相互直接调用
//静态方法static是和类一起加载的,非静态是实例化之后才存在的,所有两者之间不能相互调用
d();
}
public static void d(){
c();
}
public int add(int a,int b){
return a+b;
}
}
#值传递
public class Demo03 {
public static void main(String[] args) {
//值传递:只是把值赋给方法,由于返回值为空所以经过方法后的a还是等于主方法的a值
int a = 1;
System.out.println(a);
Demo03.change(a);
System.out.println(a);
}
public static void change(int a ){
a= 2;
}
}
public class Demo04 {
public static void main(String[] args) {
//引用传递:引用对象,本质还是值传递
Perosn perosn = new Perosn();
System.out.println(perosn.name);//null
Demo04.change(perosn);
System.out.println(perosn.name);//贺前发
}
public static void change(Perosn perosn){
perosn.name = "贺前发";
}
}
//定义了一个perrosn类,里面有一个属性name
class Perosn{
String name;
}

浙公网安备 33010602011771号