Java教程

Java面向对象:回顾方法的定义与调用

本文主要是介绍Java面向对象:回顾方法的定义与调用,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

回顾方法及加深

  • 方法的定义

    • 修饰符:public static

    • 返回类型:可为其他类型,可不返回值(返回值为空void)

    • break 和 return 的区别:break直接跳出循环(switch的case穿透);return 结束方法,返回一个结果!(结果可能为空可能为其他类型)

    • 方法名:注意规范——驼峰原则(首字母小写)、见名知意原则

    • 参数列表:可多个参数:(参数类型 参数名,参数类型 参数名) 、可变参数(参数类型... 参数名)

    • 异常抛出:

  • 方法的调用

    • 静态方法:static 修饰,直接通过 类名.方法名

    • 非静态方法:先实例化 new ,再使用 对象名.方法名

    • static :和类一起加载的。非static方法在不实例化的情况下是不存在的。

    • 形参和实参:方法在定义时是形参;调用方法时,传进来的数据参数是实参。

    • 值传递和引用传递:在使用 对象为方法参数时,是引用传递;在使用 普通类型数据(int、String、double [ ] [ ] 等等)为参数时,是值传递,不改变原来的数据。

    • this 关键字

      //静态方法和非静态方法
      public class Demo02 {
      
          //main() 方法也是静态方法
          public static void main(String[] args) {
      
              //类内调用测试
              test01();  //类内静态方法可以直接调用静态方法
              Demo02 demo02 = new Demo02();
              demo02.test02();    //类内静态方法不可以直接调用非静态方法,要先实例化。
              demo02.test01();	//静态方法也可以这样被调用
      
              //其他类调用方法测试
              Student.speak();  //类内静态方法可以通过 其他类名.方法名 调用其他类静态方法
              Student student = new Student();
              student.say();  //类内静态方法需要先实例化其他类,再通过 对象名.方法名 调用其他类方法的非静态方法。
              student.speak();//静态方法也可以这样被调用
      
      
          }
          //静态方法 static
          public static void test01(){
              System.out.println("  吴签 时期,你要忍一下  ");
          }
      
          //非静态方法
          public void test02(){
              test01();   //类内非静态方法可以直接调用静态方法
              test03();   //类内非静态方法可以直接调用非静态方法
              Student.speak();//类内非静态方法可以直接通过 类名.方法名 调用其他类静态方法
              Student student = new Student();
              student.say();//类内非静态方法需先实例化,才能通过 对象名.方法名 调用其他类非静态方法
              System.out.println("  还是 吴签 时期。电鳗:你要忍一下  ");
          }
      
          //非静态方法
          public void test03() {
              System.out.println("  还是 吴签 时期。电鳗:你要忍一下  ");
          }
      }
      
      //值传递
      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);// wanggenji
          }
      
          public static void change(Person person){
              person.name = "wanggenji";
          }
      
      }
      
      //定义了一个Person类,有一个属性:name
      class Person{
          String name;//null
      }
      
这篇关于Java面向对象:回顾方法的定义与调用的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!