实例方法(没有static)的概念
对象被称为实例。实例相关的有:实例变量、实例方法。实例变量是对象变量。实例方法是对象方法。实例方法没有static。(对象方法,对象级别的方法)
实例方法的调用需要先new一个对象,再通过“引用.”的方式去访问(实例相关的都需要先new对象,通过“引用.”的方式去访问)
实例方法
当一个类创建了一个对象后,这个对象就可以调用该类的方法(对象方法)。
1.实例方法中可以引用对象变量,也可以引用类变量;
2.实例方法中可以调用类方法;
3.对象方法中可以使用super,this关键字。
今天我们继续讲解实例方法定义语法(三),之前的方法一二都已发过,感兴趣或者不明白的同学,可以查找一下。
方法(三)
方法:
实例方法定义语法:
class 类名{
访问修饰符 返回值类型 方法名([形参列表]){
// 方法功能实现
}
}
解释:
- 访问修饰符:private、默认、protected、public;
- 返回值类型:void 无返回值类型;有返回值类型(可以是基本类型和引用类型);
- 参数列表:参数可选
实例方法调用语法:
对象名.方法名([实参列表]);
有参无返回值。
示例一:
一个参数。
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);
}
}
运行结果:
注意事项:
带参方法定义:
- 可以定义多个参数;
- 参数类型可以是基本类型,也可以是引用类型;
- 多个参数用逗号分隔;
带参方法调用:
- 要指定实际参数;
- 实际参数的类型与形式参数的类型要一致。
学完实例方法定义语法,来看几个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]
以上就是今天的内容分享,如果你觉得有用,记得收藏点赞哦,以防找不到我!
(以上部分文字及图片整理于网络,如有侵权联系删除)