首页 > 技术文章 > 方法回顾

xjianbing 2021-09-13 16:48 原文

方法回顾
方法的定义
  • 修饰符

  • 返回值类型

  • break: 跳出switch,结束循环和return的区别

  • 方法名: 注意规范,见名知意

  • 参数列表:(参数类型,参数名, ...)

  • 异常抛出 :

方法的调用: 递归
  • 静态方法

  • 非静态方法

  • 形参和实参

  • 值传递和引用传递

  • this关键字儿

/**静态方法与非静态方法
*/

public class demo02 {
   public static void main(String[] args) {

  }
   public static void prinA(){
      // prinB(); 报错,静态方法无法调用非静态方法,静态方法和类一起加载
       System.out.println("方法A输出");
  }
   //非静态方法是和对象相关的,对象创建时才存在
   public void prinB(){
       prinA();
       System.out.println("方法B输出");
  }
//值传递
public class demo03 {

   public static void main(String[] args) {

       int a=1;
       System.out.println(a);
       new demo03().changeVale(a);
       System.out.println(a);
       System.out.println("--------------------");
    /*
    * 输出:
    * 1
      1
     --------------------
    * */

  }
   public void changeVale(int a){
       a=10;
  }

}
//引用传递:对象,本质还是值传递
public class demo04 {
   public static void main(String[] args) {


       Test test =new Test();
       System.out.println(test.b+"---");
       new demo04().changeV(test);
       System.out.println(test.b+"---");
    /*
    输出:
    null---
    徐先生---

    * */
  }
   public void changeVale(int a){
       a=10;
  }
   //test是一个对象:指向-->Test test =new Test(); 是一个具体对象,可以改变属性,本质还是值传递
   public void changeV(Test test){
       test.b="徐先生";
  }
}
//定义了一个test类,有一个属性:b
class  Test{
   String  b;

}

 

推荐阅读