Java中的方法

方法的定义

Java方法是语句的集合,它们在一起执行一个功能。
1.方法是解决一类问题的步骤的有序代码组合
2.方法包含于类中
3.方法在程序中被创建,在其他地方被引用
优点:1. 使程序变得更简短而清晰。2. 有利于程序维护。3. 可以提高程序开发的效率。4. 提高了代码的重用性

方法的定义规则

方法的命名规则:
方法的名字的第一个单词应以小写字母作为开头,后面的单词则用大写字母开头写,不使用连接符。
下划线可能出现在方法名称中用以分隔名称的逻辑组件。

方法怎么写?

方法包含一个方法头和一个方法体。 下面是一个方法的所有部分:
修饰符:修饰符,这是可选的,告诉编译器如何调用该方法。定义了该方法的访问类型。
返回值类型 :方法可能会返回值。 如没有,则为void。
方法名:方法的实际名称。 方法名和参数表共同构成方法签名。
参数类型:就是参数的数据类型。
方法体:方法体包含具体的语句,定义该方法的功能。
在这里插入图片描述

方法中的返回值return

return:结束方法的。
return的结果要和返回值类型相对应。
返回值是什么类型,return就是什么类型。
如果没有返回值,那么不需要return。
注意:1、若当前方法没有返回值类型,即返回值类型是void,那么当前方法中可以不写return
2、return即表示结束一个方法,也可以将返回值返回给调用当前方法的调用者
3、return返回值时一次只能返回一个值,不可以返回多个值
4、一个方法中可以有多个return,但被执行的只能有一个,所以需要判断

方法的四种写法

无参无返回值

public class Demo02 {
public void say(){
        System.out.println("hello");}
        public static void main(String[] args) {
        Demo02 demo02 = new Demo02();   // demo02就是对象,本质还是一个变量
        demo02.say();
        }
}

无参有返回值

public class Demo02 {
public String grilFriend(){
        return "小马哥";}
        public static void main(String[] args) { 
        Demo02 demo02 = new Demo02();
        String friend = demo02.grilFriend();
        System.out.println(friend);
        }
}

有参无返回值

public class Demo02 {
public void showFriend(String name){
        System.out.println("老马的对象是:"+name);
    }
    public static void main(String[] args) {
    Demo02 demo02 = new Demo02();
    demo02.showFriend("小马哥");   
    }
}

有参有返回值

public class Demo02 {
public int add(int a,int b){
        int c = a + b;
        return c;
    }
    public static void main(String[] args) {
    Demo02 demo02 = new Demo02();
    int add = demo02.add(4, 5);
        System.out.println(add);
    }
 }

注意:在一些其它语言中方法指过程和函数
一个返回非void类型返回值的方法称为函数
一个返回void类型返回值的方法叫做过程

方法的调用

方法的调用
1 方法想要执行,必须要调用。
2 方法是谁执行的?方法是对象执行的。
3 对象是哪里来的?对象是new出来的, new+方法所在的类名(); new + 构造方法()。
4 对象调用方法: 对象.方法名(参数)。
5 方执行的本质就是: 方法里的代码跑了一边。方法每被调用一次, 方法里的代码就执行一次。
6 定义方法,其实就是在定义规则。这个在方法调用的时候很关键,我们在定义方法的时候,定义好了参数的数据类型,那么调用的时候,必须要和定义的一样。

常见错误

常见错误一:调用方法时不能指定实参类型
在这里插入图片描述
常见错误二:形参和实参数据类型不一致!数量也要一致。
在这里插入图片描述

两种变量

成员变量:不在方法里的变量就是成员变量
局部变量:在方法里面的变量就是局部变量(包含参数上的变量)

成员变量和局部变量的区别:

1 .成员变量定义在类中,整个类中都可以访问。
2 .局部变量定义在方法中,只能在方法中使用。
3 .成员变量可以不给初始值,因为有默认值,局部变量必须有初始值否则报错(除了参数)。
4 .如果成员变量和局部变量名字一样:成员变量前面可以加this,this代表当前对象。
5. 我们在方法里面使用变量的时候,如果方法里面有,就用自己的,如果没有就用成员变量的,如果成员变量没有,就报错。
6. 作用域不同:成员变量的作用域在整个类内部都是可见的,而局部变量的作用域仅限于定义它的方法。
7. 初始值不同:Java会给成员变量一个初始值,不会给局部变量初始值。

两种数据类型

基本数据类型

如果基本数据类型作为方法的参数:其实就是将基本数据类型的值,拷贝了一份副本给了方法,方法中对这个副本的修改,不会影响到原来的值。

引用数据类型

如果引用数据类型作为方法的参数:其实就是将引用数据类型的地址,拷贝了一份副本给了方法,方法中对这个副本的修改,会影响到原来的值。

基本数据类型和引用数据类型传参时的区别

基本数据类型,操作传递的是变量的值,改变一个变量的值不会影响另一个变量的值。
引用数据类型(类、数组和接口),赋值是把原对象的引用(可理解为内存地址)传递给另一个引用。

构造方法

  1. 创建对象,new + 构造方法。
  2. 初始化成员变量(给成员变量赋值)。
    作用:对象初始化。
    注意:系统提供默认无参构造方法。

有参构造方法

public class Student {
    public String name;
    public int score;
 public Student(String name, int score) {
        this.name = name;
        this.score = score;
    }
}

无参构造方法

public class Student {
          public String name;
          public int score;
    public Student(){

    }
    }

方法重载

1.同一个类中。
2. 方法名相同。
3.参数列表不同(参数个数不一样,参数的类型不一样)。
4.与修饰符和返回值无关。
注意事项: 构造方法也可以重载。

构造方法重载

在这里插入图片描述

同一个类中:1.自定义构造方法。2.方法名相同。3.参数项不同。4.与返回值,访问修饰符无关。
此时系统不再提供默认无参构造方法。

this关键字如何使用

1.调用属性2.调用方法3.调用构造方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值