java方法的加深与回顾!

方法

方法的定义

修饰符

返回值类型

break和return的区别:break跳出循环,return代表方法结束,返回一个结果!

方法名:注意规范,见名知意

参数列表:参数类型,参数名...

异常抛出

方法的调用:递归

被static修饰的方法和类一起被夹在

  • 静态方法: 修饰符static
  • 非静态方法
  • 形参和实参
  • 值传递和引用传递

首先看一下静态方法与非静态方法:

先定义一个学生类:类中放一个静态方法一个非静态方法

//学生类
public class Student {
    //静态方法
    public static void dance(){
        System.out.println("学生在跳舞");
    }
    //非静态方法
    public void say(){
        System.out.println("学生说话了");
    }

}
public class Demo01 {
    public static void main(String[] args) {
    //静态方法的调用
        Student.dance();
    // 非静态方法的调用
        //先实例化这个对象
        //对象类型  对象名=对象值
        Student student=new Student();
        student.say();
    }
}

输出:

学生在跳舞
学生说话了

这就是静态与非静态方法的调用与定义,然后看一下形参与实参

public class Demo02 {
    public static void main(String[] args) {
        //形式参数和事实际参数要一一对应
        //这里可以理解为,这里的参数就是实参,形参是int类型的,传入的实参也是int类型
        int add=Demo03.add(3,5);
        System.out.println(add);
    }
    //定义一个有参的静态方法,传入参数,这里的参数就是形参
    public static int add(int a,int b){
        return a+b;
    }
}

下面是关于值传递与引用传递:
值传递是指在调用函数时将实际参数复制一份传递到函数中,这样在函数中如果对参数进行修改,将不会影响到实际参数。
引用传递是指在调用函数时将实际参数的地址直接传递到函数中,那么在函数中对参数所进行的修改,将影响到实际参数。

我们来写代码看一下值传递:

public class Demo04 {
    public static void main(String[] args) {
        int a=1;
        System.out.println(a);//1
        Demo04.change(a);
        //我们只是把a=1这个值传给了方法
        System.out.println(a);
    }
    //值传递
    //返回值为空
    public static void change(int a){
        a=18;
    }
}

输出:

1
1

再看一下引用传递:

public class Demo05 {
    //引用传递,本质还是值传递
    public static void main(String[] args) {
        Person person=new Person();
        System.out.println(person.name);
        Demo05.change(person);
        System.out.println(person.name);
    }
    public static void change(Person person){
        //person是一个对象:指向的--->Person perosn=new Person();这是一个具体的人,可以改变属性
        person.name="lingstar";
    }
}
        //定义了一个person类,有一个属性name
     class Person{
        String name;//默认值为null
}

我们需要知道,在Java中其实还是值传递的,只不过对于对象参数,值的内容是对象的引用(不懂没关系,作为了解,以后会做具体讲解,感兴趣的也可以去看看其他大佬的关于值传递与引用传递的讲解)

posted @   星余明  阅读(21)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示