package Demo.oop;
public class demo01 {
public static void main(String[] args) {
student.say();//静态方法
student student=new student();//非静态方法,当使用new方法时,非静态方法才开始拥有空间和内存
student.say1();
System.out.println();
int a=1;
System.out.println(a);//打印初始a和值传递例子对比
demo01.change(a);//调用函数该值
System.out.println(a);//结果并未改变
//总结:值传递是仅仅把值丢过去,然而main方法里并未改变
Person person =new Person();
System.out.println(person.name);//null
demo01.change1(person);
System.out.println(person.name);//引用传递,可以完成赋值
}
//static和类一起加载,在这个包里,和demo01一起加载,一起产生空间
/**public static void a(){
b();//不可以调用
}
public void b(){
a();//可以调用
}*/
//实例化后才开始产生空间,才会存在(也就是用了new关键字)
public static void change(int a){
a=10;
}
public static void change1(Person person){
person.name="帅哥";
}
}
//定义了一个person类,有一个属性叫name
class Person{
String name;//最初定义时肯定结果为null
}