同为一个类下的普通方法可以随意调用
静态方法 static
如果同为 static 方法可以直接调用
static是和类一起加载的
非静态方法
不可以直接调用,需要实例化类 new 对象类型 对象名 = 对象值;
形数为一个名字
实参为一个真实的值
package com.oop.Demo1; public class Demo3 { public static void main(String[] args) { // add(1,2) 1,2 为实参 int add = add(1, 2); System.out.println(add); } // (int a, int b) 形参 public static int add(int a, int b){ return a+b; } }
实际参数和形式参数的类型需要一一对应
值传递
package com.oop.Demo1; // 值传递 public class Demo4 { public static void main(String[] args) { int a = 1; System.out.println(a); // 1 change(a); System.out.println(a); } public static void change(int a){ a = 10; } }
引用传递
package com.oop.Demo1; // 引用传递:对象 本质还是值传递 public class Demo5 { public static void main(String[] args) { Person person = new Person(); System.out.println(person.name); // null Demo5.change(person); System.out.println(person.name); // 七七 } public static void change(Person person){ // person 是一个对象,指向的是 Person 这个类,这是一个具体的,可以改变属性 person.name = "七七"; } } // 定义一个Person类,有一个属性:name class Person{ String name; // null }