回顾方法的定义和调用

回顾方法的定义

package se.oop;

//Dome01就是类
public class Demo01 {

  //main方法
  public static void main(String[] args) {

  }
  /*修饰符 返回值类型 方法名(形参)
  //方法体
        return:返回值
    */
  //return:结束方法,返回一个值
  //break:switch语句是跳出,循环语句是结束循环
  //返回值类型必须与返回的值相同
  public String sayhello(){
      return "hello";
  }
  public void test(){
      return;
  }
  public static int max(int a,int b){
      return a>b ?b:a;
  }
}

 

回顾方法的调用

public class Demo02 {
  public static void main(String[] args) {
      //静态方法 static
      //可以直接输入类名+方法名调用
      Student.say();

      //非静态方法 就是没有static
      //首先需要实例化类:new
      //再输入类名+方法名调用
      //对象类型 对象名 = 对象值
      Student student = new Student();
      student.say2();
      //实际参数与形式参数的类型要一样!!!
      Demo02 demo02 = new Demo02();
      int add = demo02.add(1,2);
      System.out.println(add);
  }
  public void a(){
      //当两个都是非静态方法时可以相互直接调用
      //静态方法static是和类一起加载的,非静态是实例化之后才存在的,所有两者之间不能相互调用
      b();
  }
  public void b(){
      a();
  }
  public static void c(){
      //当两个都是静态方法时可以相互直接调用
      //静态方法static是和类一起加载的,非静态是实例化之后才存在的,所有两者之间不能相互调用
      d();
  }
  public static void d(){
      c();
  }
  public int add(int a,int b){
      return a+b;
  }
}

#值传递

public class Demo03 {
  public static void main(String[] args) {
      //值传递:只是把值赋给方法,由于返回值为空所以经过方法后的a还是等于主方法的a值
      int a = 1;
      System.out.println(a);
      Demo03.change(a);
      System.out.println(a);
  }
  public static void change(int a ){
      a= 2;
  }
}

#引用传递

public class Demo04 {
  public static void main(String[] args) {
      //引用传递:引用对象,本质还是值传递
      Perosn perosn = new Perosn();
      System.out.println(perosn.name);//null
      Demo04.change(perosn);
      System.out.println(perosn.name);//贺前发

  }
  public static void change(Perosn perosn){
      perosn.name = "贺前发";

  }
}
//定义了一个perrosn类,里面有一个属性name
class Perosn{
  String name;
}
posted @ 2021-09-27 00:54  fantasyfa  阅读(45)  评论(0)    收藏  举报