1.静态调用非静态
package base.oop;
public class Demo03 {
public static void main(String[] args) {
//1.要调用非静态类的方法,需要先将其实例化对象才可以调用
int i=new Demo03().add(1,2);
System.out.println(i);
}
public int add(int a,int b){
return a+b;
}
}
2.值传递
package base.oop;
public class Demo04 {
//值传递
public static void main(String[] args) {
int a=1;
System.out.println(a);
Demo04.change(a);//
System.out.println(a);//输出结果一定等于1.因为java是值传递
}
//第一种形式
public static int change(int a){ //a只是一个 形式参数
a=10;
return a;
}
//第二种形式
}
3.引用传递 :引用传递的本身还是值传递
package base.oop;
import javax.xml.namespace.QName;
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){ //a只是一个 形式参数
//person是一个类,指向的是最后面的String name,改变的是最后面那个实际的Person 的name
person.name="傻逼";
}
}
/
//定义了一个Person类,有一个属性name
class Person{ //一个类里面只能有一个public,但是可以有多个class
String name;
}



