方法的回顾

回顾方法

  • 方法的定义

    • 修饰符

    • 返回类型

    • break和return的区别

      • break : 跳出switch ;结束循环
      • return:结束方法,返回一个结果
    • 方法名:注意规范;见名知意

    • 参数列表:

      • (参数类型 参数名)
      • 在指定参数类型后加一个省略号(...) : 可变参数 ,如:(double ... a)
    • 异常抛出

    • package com.oop.demo01;
      
      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 print(){
              return;
          }
      
          public int max(int a,int b){
              return a>b ? a : b;  //三目运算符
          }
          //异常抛出
          public void readFile(String file) throws IOException {
      
          }
      
      }
      
      
  • 方法的调用

    • 静态方法 static

    • 非静态方法

    • 形参和实参

    • 值传递和引用传递

    • this关键字

      package com.oop.demo01;
      
      public class Demo02 {
          public static void main(String[] args) {
              //非静态方法 的 调用
              //实例化这个类 new
              //对象类型 对象名字 = 对象值;
              Student a = new Student();
              a.say();
          }
      
          //静态方法  和类一起加载的
          public static void a(){
             // b();   //不能直接调用
          }
          //非静态方法 类实例化之后才存在
          public void b(){
              a();
          }
      }
      
      package com.oop.demo01;
      //学生类
      public class Student {
      
          //非静态方法
          public void say(){
              System.out.println("学生说话了!");
          }
      }
      
      
      package com.oop.demo01;
      
      public class Demo03 {
      
          public static void main(String[] args) {
              //实际参数和形式参数的类型要一致!
             int add = Demo03.add(2,3);
              System.out.println(add);
      
              Demo03 ad1 = new Demo03();
             int add1 = ad1.add1(2,3);
              System.out.println(add1);
          }
          public static int add(int a,int b){
              return a+b;
          }
      
          public int add1(int a,int b){
              return a+b;
          }
      }
      
      
      package com.oop.demo01;
      
      //值传递
      public class Demo04 {
          public static void main(String[] args) {
      
              int  a = 1;
              System.out.println(a);
      
              Demo04.change(a);
              System.out.println(a);  //a还是等于1  ;因为Java是值传递
      
          }
      
          //返回值为空
          public static void change(int a){
              a = 10;
          }
      }
      
      package com.oop.demo01;
      
      //引用传递: 传递对象,本质还是值传递
      public class Demo05 {
          public static void main(String[] args) {
              Person p = new Person();
              System.out.println(p.name); //null
              Demo05.change(p);
              System.out.println(p.name);//Wang
          }
          public static void change(Person person){
              //person是一个对象,指向的是---> Person person = new Person(); 这是一个具体的人,可以改变属性!
              person.name = "Wang";
          }
      
      }
      //定义一个Person类,有一个属性:name
      class Person{
          String name; //默认值 null
      }
      
      
posted @ 2022-11-17 14:20  TangoVer  阅读(15)  评论(0编辑  收藏  举报