• 【JavaSE】方法的使用细节说明


    1. 成员方法的定义

    访问修饰符  返回数据类型 方法名(形参列表..{//方法体
    		  语句;
    		  return 返回值;
    }
    
    1. 形参列表:表示成员方法输入 cal(int n)getSum(int num1, int num2)
    2. 返回数据类型:表示成员方法输出, void 表示没有返回值
    3. 方法主体:表示为了实现某一功能代码块
    4. return 语句不是必须的。

    2. 注意事项和使用细节

    MethodDetail.java

    • 访问修饰符 (作用是控制 方法使用的范围),如果不写默认访问,[有四种: public, protected, 默认, private]
    • 返回数据类型
    1. 一个方法最多有一个返回值【思考,如何返回多个结果 返回数组】
    • 案例:
    public class MethodDetail {
        public static void main(String[] args) {
            AA a = new AA();
            int[] res = a.getSumAndSub(1, 4);
            System.out.println("和=" + res[0]);
            System.out.println("差=" + res[1]);
        }
    
    }
    
    class AA{
        public int[] getSumAndSub(int n1,int n2){
            int[] resArr = new int[2];
            resArr[0] = n1 + n2;
            resArr[1] = n1 - n2;
            return resArr;
        }
    }
    

    在这里插入图片描述

    1. 返回类型可以为任意类型,包含基本类型或引用类型(数组,对象)
    • 案例:如上所示
    1. 如果方法要求有返回数据类型,则方法体中最后的执行语句必须为 return 值; 而且要求返回值类型必须和 return 的值类型一致或兼容
    • 没有写返回值,错误
      在这里插入图片描述
    • 这样都是可行的,有返回值
      在这里插入图片描述
      在这里插入图片描述
    • 要求返回值类型必须和 return 的值类型一致或兼容
      在这里插入图片描述
      在这里插入图片描述
    1. 如果方法是 void,则方法体中可以没有 return 语句,或者 只写 return ;
      在这里插入图片描述
      在这里插入图片描述
    • 这样就是不可行的
      在这里插入图片描述

    • 方法名
      遵循驼峰命名法,最好见名知义,表达出该功能的意思即可, 比如 得到两个数的和 getSum, 开发中按照规定

    在这里插入图片描述

    • 细节3: 调用带参数的方法时,一定对应着参数列表传入相同类型或兼容类型的参数
    	AA a = new AA();
    	int[] res = a.getSumAndSub(1, 4);
    	System.out.println("和=" + res[0]);
    	System.out.println("差=" + res[1]);
    	
    	byte b1 = 1;
    	byte b2 = 2;
    	a.getSumAndSub(b1, b2);//byte -> int
    	//a.getSumAndSub(1.1, 1.8);//double ->int(×)
    
    • 细节4: 实参和形参的类型要一致或兼容、个数、顺序必须一致
    //a.getSumAndSub(100);//× 个数不一致
    a.f3("tom", 10); //ok
    //a.f3(100, "jack"); // 实际参数和形式参数顺序不对
    
    class CC{
    	public void f3(String str, int n){
    	
    }
    

    3. 方法调用细节说明

    在这里插入图片描述

    1. 案例:
    public class MethodDetail02 {
        public static void main(String[] args) {
            A a = new A();
            a.sayOk();
        }
    }
    class A{
        //同一个类中的方法,直接调用即可
        public void print(int n) {
            System.out.println("print方法被调用 n=" + n);
        }
        public void sayOk(){    //sayOk方法调用 print 方法
            print(10);
            System.out.println("继续执行sayOk方法...");
        }
    }
    

    在这里插入图片描述
    2. 案例:

    	public class MethodDetail02 {
    	    public static void main(String[] args) {
    	        A a = new A();
    	        a.m1();
    	    }
    	}
    	
    	class A{
    	    // 跨类中的方法A类调用B类方法:需要通过对象名调用
    	    public void m1(){
    	        //创建B对象,然后调用方法即可
    	        System.out.println("m1方法被调用了");
    	        B b = new B();
    	        b.hi();
    	        System.out.println("m1继续执行");
    		    }
    		}
    	}
    
    	class B{
    	    public void hi(){
    	        System.out.println("B类中的hi方法被执行了");
    	    }
    	}
    

    在这里插入图片描述

    本文来自博客园,作者:兮动人,转载请注明原文链接:https://www.cnblogs.com/xdr630/p/15254551.html

  • 相关阅读:
    【读书笔记】读《JavaScript模式》
    【读书笔记】读《JavaScript模式》
    【读书笔记】读《JavaScript模式》
    【读书笔记】读《JavaScript模式》
    【读书笔记】读《高性能JavaScript》
    【读书笔记】读《编写高质量代码—Web前端开发修炼之道》
    【读书笔记】读《编写高质量代码—Web前端开发修炼之道》
    【读书笔记】读《JavaScript高级程序设计-第2版》
    在Docker容器中运行.Net Core web Api项目
    [转]安装 Silverlight 5/silverlight4 出错的解决方法
  • 原文地址:https://www.cnblogs.com/xdr630/p/15254551.html
Copyright © 2020-2023  润新知