示例1:
import java.io.IOException; //Demo01 类 public class Demo01 { //main 方法 public static void main(String[] args) { } /* 修饰符 返回值类型 方法名(...){ //方法体 return 返回值; } */ //return 结束方法,返回一个结果! public String sayHello(){ return "Hello, World!"; } public void hello(){ return; } public int max(int a, int b){ return a > b ? a : b; //三元运算符 } //抛出异常 public void readFile(String file) throws IOException{ } }示例2:
public class Demo02 { public static void main(String[] args) { //非静态方法调用 //实例化这个类 new Student student = new Student(); student.say(); } //和类一起加载的 public static void a(){ //b(); //报错 } //类实例化之后才存在 public void b(){ } } //学生类 public class Student { //非静态方法 public void say(){ System.out.println("学生说话了"); } }递归
静态方法
非静态方法
形参和实参
值传递和引用传递
this 关键字:代表当前的类
示例1:
public class Demo03 { public static void main(String[] args) { //实参和形参的类型要对应 Demo03 demo03 = new Demo03(); int add = demo03.add(1,2); System.out.println(add); } public int add(int a, int b){ return a+b; } }示例2:值传递
//值传递 public class Demo04 { public static void main(String[] args) { int a = 1; System.out.println(a); //1 Demo04.change(a); System.out.println(a); //1 } //返回值为空 public static void change(int a){ a =10; } } //引用传递:对象,本质还是值传递 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); //AnoBabe } public static void change(Person person){ //person是一个对象:指向的 --> Person person = new Person();这是一个具体的人,可以改变属性! person.name = "AnoBabe"; } } //定义一个Person类,有一个属性name class Person{ String name; }