Java方法小笔记
同一类下的方法是可以互相调用的
public class Demo1 { public void a(){ b(); } public void b(){ a(); } }
public class Demo1 { public static void a(){ b(); } public static void b(){ a(); } }
但必须是两个同为静态或者非静态的方法才可以
因为静态的方法是和类一起加载的,而非静态的方法是在类实例化之后才加载的
public static void main(String[] args){ int a=1; System.out.println(a);//1 change(a); System.out.println(a);//1 } public static void change(int a){ a = 10; }
Java是值传递,上面的a传给了change()但是change()并没有返回值,所以a还是1
public class Student { public static void main(String[] args){ Person person = new Person(); System.out.println(person.name);//null person.change(person); System.out.println(person.name);//zhan } public void say(){ System.out.print("学生说话了"); } } class Person{ String name; public void change(Person person){ person.name = "zhan"; } }
那为什么这个能改成功呢,因为
person.change(person);改的不是main里面的值,person是一个对象,他指向的是一个类Person person = new Person();