栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java成员方法快速入门和方法的调用机制原理

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java成员方法快速入门和方法的调用机制原理

成员方法快速入门和方法的调用机制原理

基本介绍 在某些情况下,我们要需要定义成员方法(简称方法)。比如人类: 除了有一些属性外( 年龄,姓名…),我们人类还有一些行为比如:可以说话、跑步…,通过学习,还可以做算术题。这时就要用成员方法才能完成。现在要求对 Person 类完善。 成员方法的定义

public 返回数据类型 方法名(形参列表..){//方法体
       语句;
       return 返回值;
}
    参数列表: 表示成员方法输入cal(int n) 数据类型(返回类型): 表示成员方法输出,void表示没有返回值 方法主体: 表示为了实现某一功能代码块 return语句不是必须的
成员方法使用细节
    一个方法最多有一个返回值,如果返回多个结果,用返回数组的方法.
    package Hsp;
    
    public class Method {
        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;
        }
    }
    
    返回类型可以为任何类型,包含基本类型或引用类型(数组,对象) 如果方法要求有返回数据类型, 则方法体中最后的执行语句必须为return值,而且要求返回值类型必须和return的值类型一致或兼容 若方法体内有void, 则方法体中可以没有return语句,或者只写return 一个方法可以有0个参数,也可以有多个参数,之间用逗号隔开,比如getSum(int n1,int n2) 参数列表可以为任意类型, 包含基本类型或引用类型,比如printArr(int[][] [] [] map) 调用带参数的方法时,一定对应着参数列表传入相同类型或兼容类型的参数 方法定义时的参数称为形式参数,简称形参; 方法调用时的参数称为实际参数,简称实参,实参和形参的类型一定要一致或兼容,个数,顺序必须一致 方法体: 里面写完成功能的具体语句, 可以为输入,输出,变量,运算,分支,循环,方法调用,但里面不能再定义方法! 即: 方法不能嵌套定义 方法调用细节: 同一个类中的方法调用,直接调用即可. 比如print(参数)
    package Hsp;
    
    public class Method {
        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(){
            print(19);
            System.out.println("继续执行sayOk" );
        }
    }
    
    跨类中的方法a类调用b类方法: 需要通过对象名调用
    package Hsp;
    
    public class Method {
        public static void main(String[] args) {
            A a = new A();
            a.m1();
    
        }
    }
    
    class A{
    
        public void print(int n) {
            System.out.println("print()方法被调用 n=" + n);
        }
    
        public void sayOk(){
            print(19);
            System.out.println("继续执行sayOk" );
        }
         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()被执行");
        }
    }
    
    跨类的方法调用和方法的访问符相关,先暂时这么提一下,后面我们讲到访问修饰符时,还要再细说
成员方法快速入门

添加 speak 成员方法,输出 “我是一个好人”

public class Method01 { 
	public static void main(String[] args) {
		//方法使用
		//1. 方法写好后,如果不去调用(使用),不会输出
		//2. 先创建对象 ,然后调用方法即可
		Person p1 = new Person();
		p1.speak(); //调用方法
	}
}
class Person {
	String name;
	int age;
	//方法(成员方法)
	//添加speak 成员方法,输出 “我是一个好人”
	//1. public 表示方法是公开
	//2. void : 表示方法没有返回值
	//3. speak() : speak是方法名, () 形参列表
	//4. {} 方法体,可以写我们要执行的代码
	//5. System.out.println("我是一个好人"); 表示我们的方法就是输出一句话
	
	public void speak() {
		System.out.println("我是一个好人");
	}
}


package Hsp;
public class Method {
    public static void main(String[] args) {
        //测试
        B p1 = new B();
        p1.speak();
        p1.age(2);
    }
}
//添加 `speak` 成员方法,输出 “我是一个好人”
class B{
    String name;
    int age;
    public void speak(){
        System.out.println("我是一个好人");
    }
    
    public void age(int i) {
        System.out.println(i);
    }
}
添加 cal01 成员方法,可以计算从 1+..+1000 的结果
public class Method01 { 
	public static void main(String[] args) {
		//方法使用
		//1. 方法写好后,如果不去调用(使用),不会输出
		//2. 先创建对象 ,然后调用方法即可
		Person p1 = new Person();
		p1.cal01(); //调用cal01方法
	}
}

	//添加cal01 成员方法,可以计算从 1+..+1000的结果
	class Person {
	public void cal01() {
		int res = 0;
		for(int i = 1; i <= 1000; i++) {
			res += i;
		}
		System.out.println("cal01方法 计算结果=" + res);
	}
	}
添加 cal02 成员方法,该方法可以接收一个数 n,计算从 1+..+n 的结果
public class Method01 { 
	public static void main(String[] args) {
		Person p1 = new Person();
		p1.cal02(5); //调用cal02方法,同时给n = 5
		p1.cal02(10); //调用cal02方法,同时给n = 10
	}
}

	//添加cal02 成员方法,该方法可以接收一个数n,计算从 1+..+n 的结果
	//1. (int n) 形参列表, 表示当前有一个形参 n, 可以接收用户输入
	class Person {
	public void cal02(int n) {
		int res = 0;
		for(int i = 1; i <= n; i++) {
			res += i;
		}
		System.out.println("计算结果=" + res);
	}
	}
添加 getSum 成员方法,可以计算两个数的和
public class Method01 { 
	public static void main(String[] args) {
		Person p1 = new Person();
		//调用getSum方法,同时num1=10, num2=20
		//把 方法 getSum 返回的值,赋给 变量 returnRes
		int returnRes = p1.getSum(10, 20); 
		System.out.println("getSum方法返回的值=" + returnRes);
	}
}
class Person {
	public int getSum(int num1, int num2) {
		int res = num1 + num2;
		return res;
	}
}
    //添加getSum成员方法,可以计算两个数的和
	//解读
	//1. public 表示方法是公开的
	//2. int :表示方法执行后,返回一个 int 值
	//3. getSum 方法名
	//4. (int num1, int num2) 形参列表,2个形参,可以接收用户传入的两个数
	//5. return res; 表示把 res 的值, 返回
方法的调用机制原理

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/758922.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号