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


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

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

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

    实例方法

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

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

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

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


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

    方法(三)

    方法:

    实例方法定义语法:

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

    解释:

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

    实例方法调用语法:

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

    有参无返回值。

    示例一:

    一个参数。

    1. class MyMath{
    2. /** 方法定义 */
    3. public void setNumber(int number){
    4. System.out.println("数字是:" + number);
    5. }
    6. }
    7. public class TestMyMath {
    8. public static void main(String[] args) {
    9. MyMath myMath = new MyMath();
    10. /** 方法调用 */
    11. myMath.setNumber(55);
    12. myMath.setNumber(66);
    13. myMath.setNumber(77);
    14. }
    15. }

    运行结果:

    示例二:

    多个参数。

    1. class MyMath{
    2. /** 方法定义 */
    3. public void add(int number1, int number2){
    4. System.out.println("相加的结果是:" + (number1 + number2));
    5. }
    6. }
    7. public class TestMyMath {
    8. public static void main(String[] args) {
    9. MyMath myMath = new MyMath();
    10. /** 方法调用 */
    11. myMath.add(11, 22);
    12. myMath.add(33, 44);
    13. myMath.add(55, 66);
    14. }
    15. }

    运行结果:

     

    注意事项:

    带参方法定义:

    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累加

    带初始值

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

    不带初始值

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

    3.reduce数组去重

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

    4.reduce求数组项最大值

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

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

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

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

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

  • 相关阅读:
    效率提升一键完成房产小程序源码揭秘高效业务流程优化
    使用 lkdtm 内核模块进行内核崩溃测试
    yolact ncnn保姆级源码解读(结合paper)
    [pytorch笔记]04 --进阶训练技巧
    C语言之动态内存管理篇(1)
    HTML+CSS大作业 格林蛋糕(7个页面) 餐饮美食网页设计与实现
    Go 微服务开发框架 DMicro 的设计思路
    Python 操作pdf文件(pdfplumber读取PDF写入Excel)
    聊聊日报设计——日报怎么写,日报有何用?
    使用.NET简单实现一个Redis的高性能克隆版(一)
  • 原文地址:https://blog.csdn.net/m0_69234258/article/details/128112383