【Java学习笔记】成员方法

成员方法

知识迁移:类比 C 语言中的函数,方法(可以理解为一个类具有某种行为),刚好可以通过写一个函数的方法实现,在 Java 中称为方法

有什么作用?

可以更方便的调用某些功能,避免代码冗余,例如可以写一个mytool类,把需要的功能全部写在类方法中(封装起来),需要的时候直接调用,非常方便


快速入门

public class method{
    public static void main(String[] args){
    person person1 = new person();
    person1.name = "jackson";
    person1.age = 18;
    int a = 10;
    int b = 10;
    int[] arr = {1,2,3};
    int sum = person1.getsum(a,b);
    person1.printarray(arr);
    System.out.println("age: " + person1.age);
    System.out.println("name: " + person1.name);
    System.out.println("person object ---> getsum method result: " + sum);
    }
}
class person{

    String name;
    int age;

    public int getsum(int a,int b){
        return a + b;
    }

    public void printarray(int[] arr){
        for(int i =0; i < arr.length; i++){
            System.out.print("arr[" + i + "]: " + arr[i] + " ;  ");
        }
        System.out.println();
    }
}

代码分析

一、方法的解读

  • (1)public表示公开的

  • (2)void表示没有返回值,这里可以根据返回的数据类型而改变

  • (3)getnumprintarray都是方法名

  • (4)方法中可以传参(称之为形参),也可以不传

  • (5)return返回值可有可无

二、方法的使用

调用方法:对象.方法()()形参列表

  • (1)如果有返回值,可以用返回值的数据类型的一个变量进行接收

  • (2)支持兼容类型(自动类型转换),例如:把int赋值给double

跨类调用方法

  • (1)使用new创建一个对象,使用对象.方法名()的方式调用

  • (2)注意:只能在类方法里实现跨类调用方法,否则会报错

  • (3)与访问修饰符有关(publicprotectedprivate默认),后续详谈,这里先提一下

跨类调用代码示例

import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
    person person1 = new person();
    person1.name = "jackson";
    person1.age = 18;
    int a = 10;
    int b = 10;
    int[] arr = {1,2,3};
    int sum = person1.getsum(a,b);
    System.out.println("age: " + person1.age);
    System.out.println("name: " + person1.name);
    System.out.println("person object ---> getsum method result: " + sum);
    person1.printarray(arr);
    }
}
class person{
    String name;
    int age;
    public int getsum(int a,int b){
        return a + b;
    }
    public void printarray(int[] arr){
        for(int i =0; i < arr.length; i++){
            System.out.print("arr[" + i + "]: " + arr[i] + " ;  ");
        }
        System.out.println();

        //注意:这个调用需要在方法里面调用
        b method_b = new b(); //创建b类对象
        method_b.methodb(); // 跨类调用方法
    }

}
class b{
    public void methodb(){
        System.out.println("我是b类的一个方法,你实现了跨类调用");
    }
}

//输出结果
age: 18
name: jackson
person object ---> getsum method result: 20
arr[0]: 1 ;  arr[1]: 2 ;  arr[2]: 3 ;
我是b类的一个方法,你实现了跨类调用

方法的调用机制原理

  • (1)调用方法时,会开辟一个独立的栈空间

  • (2)方法执行完成或者遇到return语句时,就会返回

  • (3)方法执行结束返回到调用方法的地方返回的是地址),栈空间释放


方法是使用细节

>>返回值

  • (1)一个方法最多一个返回值

  • 如何实现返回多个返回值?返回数组

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

  • (3)如果方法要求有返回数据类型,则方法体中最后的执行语句必须为 return 值

  • (4)如果方法是void,则方法体中可以没有return语句,或者 只写 return;

>>形参列表

  • (1)一个方法可以有 0 个参数,也可以有多个参数,中间用逗号隔开,比如 getSum(int n1, int n2)

  • (2)参数类型可以为任意类型,包含基本类型或引用类型,比如 printArr(int[][] map)

  • (3)调用带参数的方法时,一定要对应参数列表传入相同类型兼容类型的参数!

  • (4)方法定义时的参数称为形式参数,简称形参;方法调用时的传入参数称为实际参数,简称实参实参和形参类型要一致或兼容,个数、顺序必须一致!

>>方法体

里面写完成功能的具体语句,可以为输入、输出、变量、运算、分支、循环、方法调用,但里面不能再定义方法!即:方法不能嵌套定义

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jackson凌

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值