回顾方法的定义:
方法的定义:
修饰符
返回类型
方法名:注意规范,见名之意
参数列表:参数类型,参数名 (可变长参数)**
异常抛出:
数组下标越界异常:ArrayindexOutofbounds
break和return的区别:
break:跳出switch;结束循环;
return:代表方法结束;return后面也可以不带参数;
回顾方法的调用:
方法的调用:递归
静态方法
非静态方法
形参和实参
值传递和引用传递:
Java都是值传递;
this关键字
代码:静态方法,非静态方法
//静态方法,非静态方法 public class Demo02 { public static void main(String[] args) { /** * 调用方法:有两种方式: * 1,如果方法是静态方法(被static修饰):可以直接用类名. Student.say(); * 2,如果是非静态方法:只能实例化类(new对象),用对象调用 */ Student.say(); //静态方法修饰,直接类名. //实例化这个类 new //对象类型 对象名=对象值; Student student=new Student(); student.study();//非静态方法,对象. } /** * 重点: * 1,2个方法都没有被static修饰,方法可以直接调用; * 2,2个方法都被static修饰,方法也可以直接调用; * * 3,如果一个方法被static修饰,一个没有: * (3.1)则没有static的方法可以调用static方法; * (3.2)有static方法不能调用非static方法; * *4,原因:static和类一起加载;所以非static方法只能等类实例化后,才会存在 * */ public static void a(){ } public void b(){ a(); } }
代码2:形式参数和实际参数
public class Demo03 { public static void main(String[] args) { Demo03 demo03=new Demo03(); int sum=demo03.add(1,2); System.out.println(sum); } public int add(int a ,int b){ return a+b; } }
代码3:引用传递
//一个类里面可以有多个class,但是只能有一个public class public class Demo05 { public static void main(String[] args) { //引用传递:一般是传递一个对象;本质还是值传递 Person person=new Person(); System.out.println(person.name); System.out.println("--------------"); change(person); System.out.println(person.name);//haha } public static void change(Person person ){ //Person是一个对象:指向的--->Person person=new Person();这是一个具体的人,可以改变属性 person.name="haha"; } } //定义了一个Person类,有一个属性name class Person{ String name ;//默认值为Null }