ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

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

2021-07-27 01:34:56  阅读:135  来源: 互联网

标签:调用 Java void 面向对象 static 类内 静态方法 public


回顾方法及加深

  • 方法的定义

    • 修饰符: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,void,面向对象,static,类内,静态方法,public
来源: https://www.cnblogs.com/yuqianqiu/p/15063954.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有