方法的定义和使用

方法的定义:
把能完成特定功能的代码块装进一个方法中。

为了节约代码量,也为了不重复写同样的代码,我们只需要调用此包装好的方法就可以实现我们想要的功能

方法的声明:

[权限修饰符] [static] 返回值类型 方法名 (参数列表) {
	//方法体;
} 
方法分为 有返回值 和 无返回值 、 有参数 和 无参数 两两组合类型
都以public、非static修饰为例
				有参											无参
	有返回值	public int method ( int num1,int num2 ) {} 		public int method () {}
	无返回值	public void method ( int num1, int num2 ) {}	public void method () {}

例如:
有返回值的: 返回值类型可以是基本数据类型 也可以是 引用数据类型
	方法体一定要有return(返回一个定义好的同类型值) 不写会编译报错
	public int method () {
		return 1;//return的值是和定义的int是同一类型的	
	}
	
无返回值的:直接定义为void即可	方法体可以有return 但不写也不会编译报错(return的作用变成了停止)
	public void method () {
		//
	}

有参数的:调用的时候需要传入对应的数据类型参数才可以调用
无参数的:调用就无需传入参数,直接调用 

方法涉及到两个概念;重写(Override)和重载(Overload)

重载(Overload)
同一个类中 同名不同参构成的
不同参构成有:参数类型不同 参数类型顺序不同 参数个数不同 满足其一则构成不同参

重写(Override)
在两个类的,子类重写父类的方法
1.得要是同一方法签名(同名+同参)
2.子类重写父类的方法
①权限修饰符:子类不能小于父类
②返回值类型:子类要跟父类一致,又或者是父类返回值类型的子类
③抛出异常的类型:子类抛出异常的类型要小于父类抛出异常的类型

方法中的值传递机制:
形参是声明在方法名后面的()中,方法在调用的时候,是把实参的值复制一份给形参,所以在方法中修改了值,出了方法的作用域,并不会影响实参的值。

基本数据类型引用数据类型的值传递区别:
基本数据类型传递本身的实体值
引用数据类型传递地址值

方法的可变形参
样式:

[修饰符] 返回值类型 方法名称(参数类型 参数1,xx,xx,可变参数类型...参数名) { 
    方法体; 
    [return 返回值;] 
}
public static double arrInArr(double num,double ...nums){//double[] nums
    double sum = 0;
    //普通for 将nums当数组一样操作
    for( int i = 0; i < nums.length; i++){
        sum += nums[i];
    }
    //foa each
    for( int i : nums){
        sum += i;
    }
    return sum * num;
}

public static void main(String[] args) {
    double[] arr = new double[]{100.0, 201.0, 18.88, 19.9, 39.9};
    //
    System.out.println(ArrayInArrayTest.arrInArr(0.8, 100.0, 201.0, 18.88, 19.9, 39.9));
    //数组 可以传入到可变形参 
    System.out.println(ArrayInArrayTest.arrInArr(0.8, arr));
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值