Bootstrap

Java—面向对象——成员方法

目录

一、成员方法的定义

二、方法的调用机制原理

三、成员方法的好处

四、注意事项和使用细节

五、成员方法传参机制



  • 基本介绍

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

public class example{
    public static void main(String[] args){
        //使用方法:先创建对象,后调用方法
        Person p1 = new.Person(); //创建对象
        p1.speak();//调用方法
    }
}


class Person{ //类
    //属性
    String name;
    int age;

    //方法(成员方法)
    public void speak(){
        System.out.println("XXXXX");
    }
}

/*
    public表示访问修饰符  void表示返回数据类型  speak表示方法名  
    ()里面表示形参列表   {}表示方法体
*/

例:

public class Method01{
	public static void main(String[] args) {
		//使用方法
		//1.方法写好后,如果不去调用(使用),不会输出
		//2.先创建一个对象,如何调用方法即可
		Person p1 = new Person();//创建对象
		p1.speak();//调用方法	
		p1.cal01();//调用cal01
		p1.cal02(10);//调用ca102方法,同时给n = 10
		
		//调用getSum方法,同时num1=10,num2=20
		//把 方法 getSum返回的值赋给变量returnRes
		int returnRes = p1.getSum(10,20);
		System.out.println("getSum返回的值=" + returnRes);
	}
}

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("我是一个好人");
	}

	//添加cal01 成员方法,可以计算从1+...+1000的结果
	public void cal01(){
		int res = 0;
		for(int i = 0; i <= 1000; i++){
			res += i;
		}
		System.out.println("cal01 计算结果=" + res);
	}

	//添加cal02 成员方法,该方法可以接受一个数n,计算从1+..+n的结果
	//解读
	//1.(int n)是形参列表,表示当前有一个形参n,可以接受用户输入
	public void cal02(int n){
		int res = 0;
		for(int i = 0; i <= n; i++){
			res += i;
		}
		System.out.println("cal02 计算结果=" + res);
	}

	//添加getSum成员方法,可以计算两个数的和
	//解读
	//1.public表示方法是公开的
	//2.int:表示方法执行后,返回一个int值
	//3.getSum: 方法名
	//4.(int num1,int num2)形参列表,两个形参,可以接受用户传入的两个数
	//return res;表示把res的值返回
	public int getSum(int num1,int num2){
		int res = num1 + num2;
		return res;

	}
}

一、成员方法的定义

  访问修饰符 返回参数类型 方法名(形参列表){ //方法主体
      语句;
      return 返回值;
}

        1.形参列表:表示成员方法的输入,比如课件说的cal01(int n), getSum(int num1,int num2)

        2.返回数据类型:表示成员方法输出,void表示没有返回值

        3.方法主体:表示为了实现某一功能的代码块

        4. return语句不是必须的

二、方法的调用机制原理

三、成员方法的好处

        1.提高代码的复用性

        2.可以将实现的细节封装起来,然后供其他用户来调用

四、注意事项和使用细节

        1.访问修饰符

                访问修饰符作用是控制方法使用的范围;如果不写访问修饰符,就是默认访问修饰符,

                访问修饰符分为四种【public , protected, 默认, private】

        2.返回数据类型

                ①一个方法最多有一个返回值

                ②返回类型可以为任意类型,包含基本类型或引用类型(数组,对象)

                ③如果方法要求有返回数据类型,则方法体中最后的执行语句必须为return值;而且要                       求返回值类型必须和return的值类型一致或兼容

                ④如果方法是void,则方法体中可以没有return语句或者只写return

        3.方法名

                遵循驼峰命名法,最好见名知意,表达出该功能的意思即可,开发中按照规范

        4.形参列表

                ①一个方法可以有0个参数,也可以有多个参数,中间用逗号隔开

                ②参数类型可以为任意类型,包含基本类型或引用类型

                ③调用带参数的方法时,一定对应着参数列表传入相同类型或兼容类型的参数

                ④方法定义时的参数称为形式参数,简称形参;方法调用时的传入参数称为实际参数,

                   简称实参。形参和实参的类型要一致或兼容、个数、顺序必须一致!

        5.方法体

                里面写完成功能的具体的语句,可以为输入、输出、变量、运算、分支、循环、方法调

                用,但里面不能再定义方法,即:方法不能嵌套定义

  • 方法调用的细节说明

        1.同一个类中的方法调用:直接调用即可。

        2.跨类中的方法A类调用B类:需要通过对象名调用。比如:对象名.方法名(参数);

        3.特别说明:跨类的方法调用和方法的访问修饰符相关(暂时提一下,后续还会详讲)

  • 类定义的完善

五、成员方法传参机制

        1.基本数据类型的传参机制

          结论:基本数据类型传递的是值(值拷贝),形参的任何改变不影响实参!

        2.引用数据类型的传参机制

          结论:引用数据类型传递的是地址(传递也是值,但是值是地址),可以通过形参影响实参!

        

;