Java基础核心-6方法与方法重载

方法

方法的定义

Java方法是语句的集合,它们在一起执行一个功能。
方法是解决一类问题的步骤的有序代码组合
方法包含于类中
方法在程序中被创建,在其他地方被引用

方法的优点
1. 使程序变得更简短而清晰。
2. 有利于程序维护。
3. 可以提高程序开发的效率。
4. 提高了代码的重用性。

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

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

方法的格式:

	修饰符 返回值类型 方法名(参数类型 参数名){
              ...
              方法体
              ...
              return 返回值;
          }

         修饰符:    public
         返回值类型:  本质就是数据类型
         方法名:     方法的名字(命名规范和变量的一样)   小驼峰
         参数类型:   本质就是数据类型
         参数名:    本质就是变量名
         方法体:    就是一些java语句
          return:  关键字,结束方法,一般用在返回值前面
         返回值:    方法执行完以后,得到的结果。

return
return:结束方法的。
return的结果要和返回值类型相对应

public String happy(String choose){
        if("旅游".equals(choose)){
            return "开心";
        }
        return "难过";
    }

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

方法的参数传递

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

对象参数

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

//参数是基本数据类型
    public void pl1(int score) {
        score += 1;
    }

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

//参数是引用数据类型
    public void pl2(Student student) {
        student.score += 1;
    }
// 1. 无参无返回值
    public void say(){
        System.out.println("hello");
    }

    // 2. 无参有返回值,如果方法有返回值,那么这个方法调用的时候,就会有一个结果。这个结果可以赋值给一个变量
    public String grilFriend(){
        return "小马哥";
    }

    // 3. 有参无返回值
    public void showFriend(String name){
        System.out.println("老马的对象是:"+name);
    }

    //4 有参有返回值
    public int add(int a,int b){
        int c = a + b;
        return c;
    }
# 构造方法
## 什么是构造方法

语法:
无返回值类型
方法名与类名相同
可以指定参数

	 访问修饰符   构造方法名 ( ) { 
	          //初始化代码
	   }

作用
对象初始化
系统提供默认无参构造方法

构造方法重载

自定义构造方法
方法名相同
参数项不同
与返回值,访问修饰符无关
这三个在同一类中
此时系统不再提供默认无参构造方法

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

一、带参构造方法this关键字是对一个对象的默认引用
二、这里用以区分同名成员变量

方法重载

什么是方法重载

方法重载:

  1. 同一个类中
  2. 方法名相同
  3. 参数列表不同(参数个数不一样,参数的类型不一样)
  4. 与修饰符和返回值无关
    注意事项: 构造方法也可以重载
    public void say(){
        System.out.println("hello");
    }

    public String say(int a){
        return "hello";
    }

    public String say(String name){
        return "hello "+name;
    }
}

成员变量

成员变量的定义

成员变量:不在方法里的变量就是成员变量

public int a;   // 成员变量

局部变量

局部变量的定义

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

public int add(int a,int b){    // a,b都是局部变量
        int d =100;   // d是局部变量
        int c = a + b;  // c是局部变量
        return d;
    }

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

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值