实例方法(instance method)、类方法、构造方法(三)
创始人
2024-03-03 10:08:02
0

实例方法(没有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]

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

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

相关内容

热门资讯

美国2年期国债收益率上涨15个... 原标题:美国2年期国债收益率上涨15个基点 美国2年期国债收益率上涨15个基...
汽车油箱结构是什么(汽车油箱结... 本篇文章极速百科给大家谈谈汽车油箱结构是什么,以及汽车油箱结构原理图解对应的知识点,希望对各位有所帮...
嵌入式 ADC使用手册完整版 ... 嵌入式 ADC使用手册完整版 (188977万字)💜&#...
重大消息战皇大厅开挂是真的吗... 您好:战皇大厅这款游戏可以开挂,确实是有挂的,需要了解加客服微信【8435338】很多玩家在这款游戏...
盘点十款牵手跑胡子为什么一直... 您好:牵手跑胡子这款游戏可以开挂,确实是有挂的,需要了解加客服微信【8435338】很多玩家在这款游...
senator香烟多少一盒(s... 今天给各位分享senator香烟多少一盒的知识,其中也会对sevebstars香烟进行解释,如果能碰...
终于懂了新荣耀斗牛真的有挂吗... 您好:新荣耀斗牛这款游戏可以开挂,确实是有挂的,需要了解加客服微信8435338】很多玩家在这款游戏...
盘点十款明星麻将到底有没有挂... 您好:明星麻将这款游戏可以开挂,确实是有挂的,需要了解加客服微信【5848499】很多玩家在这款游戏...
总结文章“新道游棋牌有透视挂吗... 您好:新道游棋牌这款游戏可以开挂,确实是有挂的,需要了解加客服微信【7682267】很多玩家在这款游...
终于懂了手机麻将到底有没有挂... 您好:手机麻将这款游戏可以开挂,确实是有挂的,需要了解加客服微信【8435338】很多玩家在这款游戏...