(10)Java中方法定义和使用

一、方法:是一组可以实现特定功能的代码块的集合,在语法上主要有功能有两个:
1、结构化代码:将代码按照功能进行组织,使代码的结构比较清晰,容易阅读和修改,程序的可维护性强。
2、减少代码重复:一个固定的功能,可能会在程序中多次使用,在使用时只需要调用写好的方法,而不用重复书写对应功能的代码。

二、在实际声明一个方法的时候,需要依次确定以上内容:
(1)访问控制符:
①访问控制符用于限定方法可见的范围,或者说是方法被调用的范围。
②方法控制符的四种:public、protected、无访问控制符、private

(2)修饰符:
修饰符是可选的,在方法声明时可不写
方法的访问控制符有五个:

  1. static----静态的
  2. final—最终的
  3. abstract—抽象的
  4. synchronized—同步的
  5. native—本地的

(3)返回值类型:如果方法功能实现以后不需要反馈结果,则返回值类型书写为void,int类型还是int
(4)方法名称:方法名称是一个标识符,用来代表该功能块。例如实现数组排序的方法,可以将方法名称设定为sort,
在Java编码规范中,要求方法的首字母小写,二方法名称中单词和单词间隔的第一个字母大写,如bubbleSort。
(5)参数列表:是声明方法需要从外部传入的数据类型以及个数:
eg.数据类型 参数名称
多个参数格式为:
eg.数据类型 参数名称1,数据类型 参数名称2
(6)方法体:是方法的功能实现的代码
eg.有需要返回值的时候:
return 结果的值;
eg.无结果返回的时候:
return;

三、方法的定义格式:

//一、调用有返回值的方法:
        // eg.(有返回值的) public 返回值类型 方法名(){具体逻辑;return 结果;}
         public int getSum(){
            int sum = this.a+this.b;
            return sum;
            
//二、没有返回值的方法用void表示:
        pair.say();
        
//三、调用带参数,但是没有返回值的方法
              pair.say("彭于晏")
              
//四、调用带参数,并且有返回值的方法
             public int qiuhe(int a,int b){
                 return a+b;



//一、调用有返回值的方法:
               int xx =pair.getSum();
               System.out.println(xx);
//二、没有返回值的方法用void表示
               //调用没有返回值的方法:
                 public void say(){
            System.out.println("i .you");
        }

//三、调用带参数,但是没有返回值的方法

             public void say(String name){
                 System.out.println("i miss you"+name);
        }
//四、调用带参数,并且有返回值的方法
            int sum = pair.qiuhe(5,8);
                  System.out.println(sum);

四、案例1:

package javase.day04.list.demo.fuction;

public class NumberPair {

    public int a;
    public int b;

    public int getSum(){
        int sum = this.a+this.b;
        return sum;
    }

}

package javase.day04.list.demo.fuction;

public class FuctionDemo {
    public static void main(String[] args) {
        NumberPair pair= new NumberPair();
        pair.a=18;
        pair.b=20;
        
        //int sum = pair.a+pair.b;相当于
        int xx =pair.getSum();
            System.out.println(xx);
        }
    }


五、案例2:
利用上一篇内容
原:

//计算List中所有商品成交金额最大高的商品
         tmp = pdts.get(0);
        for(int i = 1; i<pdts.size();i++){
            if(pdts.get(i).price*pdts.get(i).number>tmp.price * tmp.number){
                tmp = pdts.get(i);
            }

利用方法之后:

 //计算List中所有商品成交金额最大高的商品
         tmp = pdts.get(0);
        for(int i = 1; i<pdts.size();i++){
            if(pdts.get(i).getAmount()>tmp.getAmount()){
                tmp = pdts.get(i);
            }

六、方法的重载
1、概念:是一种语法现象,指在一个类内部出现了多个方法名相同但参数列表不同的方法。
2、功能:将功能相同但参数不同的方法采取相同的方法名称,便于程序员使用。
eg.

public void a(int a){}
public int a(){}
public void a(int a,String s){}
//以上示例方法中,方法的名称都是a,但是参数列表却各不相同,这些方法实现了重载的意义。
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值