实例方法(instance method)、类方法、构造方法(三)

实例方法(没有static)的概念

对象被称为实例。实例相关的有:实例变量、实例方法。实例变量是对象变量。实例方法是对象方法。实例方法没有static。(对象方法,对象级别的方法)

实例方法的调用需要先new一个对象,再通过“引用.”的方式去访问(实例相关的都需要先new对象,通过“引用.”的方式去访问)

实例方法

当一个类创建了一个对象后,这个对象就可以调用该类的方法(对象方法)。

  1.实例方法中可以引用对象变量,也可以引用类变量;

  2.实例方法中可以调用类方法;

  3.对象方法中可以使用super,this关键字。


 今天我们继续讲解实例方法定义语法(三),之前的方法一二都已发过,感兴趣或者不明白的同学,可以查找一下。

方法(三)

方法:

实例方法定义语法:

class 类名{
     访问修饰符  返回值类型  方法名([形参列表]){
           // 方法功能实现
     }
}

解释:

  1. 访问修饰符:private、默认、protected、public;
  2. 返回值类型:void 无返回值类型;有返回值类型(可以是基本类型和引用类型);
  3. 参数列表:参数可选

实例方法调用语法:

对象名.方法名([实参列表]);

有参无返回值。

示例一:

一个参数。

class MyMath{
	/** 方法定义 */
	public void setNumber(int number){
		System.out.println("数字是:" + number);
	}
}
public class TestMyMath {

	public static void main(String[] args) {
		MyMath myMath = new MyMath();
		/** 方法调用 */
		myMath.setNumber(55);
		myMath.setNumber(66);
		myMath.setNumber(77);
	}

}

运行结果:

示例二:

多个参数。

class MyMath{
	/** 方法定义 */
	public void add(int number1, int number2){
		System.out.println("相加的结果是:" + (number1 + number2));
	}
}
public class TestMyMath {

	public static void main(String[] args) {
		MyMath myMath = new MyMath();
		/** 方法调用 */
		myMath.add(11, 22);
		myMath.add(33, 44);
		myMath.add(55, 66);
	}

}

运行结果:

 

注意事项:

带参方法定义:

  1. 可以定义多个参数;
  2. 参数类型可以是基本类型,也可以是引用类型;
  3. 多个参数用逗号分隔;

带参方法调用:

  1. 要指定实际参数;
  2. 实际参数的类型与形式参数的类型要一致。

学完实例方法定义语法,来看几个JavaScript数组reduce的实例方法

1. reduce定义和用法

reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。reduce() 可以作为一个高阶函数,用于函数的 compose。注意: reduce() 对于空数组是不会执行回调函数的。

语法:

array.reduce(function(prev, cur, index, arr), init)

prev (上一次调用回调返回的值,或者是提供的初始值(initialValue))

cur (数组中当前被处理的元素)

index (当前元素在数组中的索引)

arr (调用的数组)

init (传递给函数的初始值)

2.reduce累加

带初始值

var arr = [1,2,3,4]
var sum = arr.reduce((pre, item) => {    
    return pre + item
}, 10)
console.log(sum) // 20

不带初始值

var arr = [1,2,3,4]
var sum = arr.reduce((pre, item) => {
return pre + item
},)
console.log(sum) // 10

3.reduce数组去重

var arr = [1,2,3,3,2,1,4]
arr.reduce((acc, cur) => { 
if (!(acc.includes(cur))) {    
acc.push(cur)  
}  
return acc
}, [])
// [1, 2, 3, 4]

4.reduce求数组项最大值

var arr = [1, 2, 3, 4];
arr.reduce((prev, cur) => {
return Math.max(prev,cur);
});
//4

5.reduce将二维数组转为一维数组

var arr = [[1,2], [3,4], [5,6]]
arr.reduce((acc, cur) => {
  return acc.concat(cur)
}, [])
// [1,2,3,4,5,6]

以上就是今天的内容分享,如果你觉得有用,记得收藏点赞哦,以防找不到我!

(以上部分文字及图片整理于网络,如有侵权联系删除)

  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值