【JavaSE成神之路】一文洞悉Java的方法

news2024/12/25 9:16:30

哈喽,我是兔哥呀,今天就让我们继续这个JavaSE成神之路!

这一节啊,咱们要学习的内容是Java语言的方法。

目录

1.什么是Java方法

2.快速入门Java方法

3.如何调用Java方法

4.关于Java方法重载这件事

作业


1.什么是Java方法

Java的方法是一种封装的代码块,它可以被多次调用,以完成特定的任务。我们可以把方法理解为一种行为,方法必须定义在class中。 定义方法的语法如下:

[修饰符] 返回类型 方法名(参数列表) {
  // 方法体
}

其中,修饰符是可选的,它可以是public、protected、private等;返回类型是方法的返回值类型,可以是void(无返回值);参数列表是方法的参数,可以是空的;方法体是方法的实现代码。

2.快速入门Java方法

我们直接来一个例子吧,看看java方法是如何定义的?

public static int add(int a, int b) {
  return a + b;
}

这是一个Java方法,它接受两个int类型的参数,并返回它们的和。它可以被多次调用,以完成求和任务。 这个方法算是开胃菜。

上面说了,Java的方法必须写在class里面,比如,你可以定义一个class叫做Demo,把方法的定义放进去。

public class Demo {
  public int add(int a, int b) {
    return a + b;
  }
}

3.如何调用Java方法

直接看例子:

public class Demo {
    public static void main(String[] args) {
        Demo demo = new Demo();
        int result = demo.add(1, 2);
        System.out.println(result);
    }
    public int add(int a, int b) {
        return a + b;
    }
}

可见,我们调用方法是通过“.”来的,并且调用的代码一般也是写在一个方法里,比如main方法。

上面的add方法是一个实例方法,所谓的实例方法,就是不加static修饰的方法,static是啥,我们以后再说。

对于这种不加static修饰的方法,就是实例方法。

我们在调用实例方法之前,必须先把那个方法所在的class给new出来。new出来的东西叫做对象,实例方法需要用对象去调用。

4.关于Java方法重载这件事

public class Demo {
  public int add(int a, int b) {
    return a + b;
  }
}

这个add方法,只能够两个数字相加。如果我要三个数字呢,就得增加参数。

不改变方法名,却增加了参数的个数,像这样:

public class Demo {
  public int add(int a, int b,int c) {
    return a + b + c;
  }
}

这种的就叫做方法重载。

记住一个口诀:名同参不同,返回不相干。

名同参不同,意思就是方法名必须相同,参数必须不同,可以是个数不同,也可以是参数类型不同。

返回不相干,意思是说重不重载跟方法的返回值没关系,很多考题就喜欢这么考你。

综上,Java的方法重载指的是在同一个类中, 允许定义多个同名的方法, 只要它们的参数个数或者参数类型不同即可。 例如:

public class Test {
    public void print() {
        System.out.println("无参数");
    }
    public void print(int a) {
        System.out.println("一个参数:" + a);
    }
    public void print(String b) {
        System.out.println("一个参数:" + b);
    }
    public void print(int a, String b) {
        System.out.println("两个参数:" + a + "," + b);
    }
    
}

作业

定义一个名为Calculator的类, 该类有两个方法: add() 和subtract(), 分别用于实现两个数字的加法和减法运算。 要求:

  1. 定义add() 方法, 接收两个int类型的参数, 返回两个参数的和;

  2. 定义subtract() 方法, 接收两个int类型的参数, 返回两个参数的差;

  3. 定义add() 方法的重载, 接收三个int类型的参数, 返回三个参数的和;

  4. 在main() 方法中, 调用add() 和subtract() 方法, 并输出结果。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/87108.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

补遗: CS61a

补遗: CS61a 通过“圣经”《SICP》 了解到这门课。SCIP读着有点困难,想通过课程的引导。但是这个课程要比书基础很多,就当对计科学习的回顾和补遗了。本笔记也会在我读完 SICP 后更新。 课程地址:CS 61A Fall 2022 参照原书目录…

第52篇 Qt Quick简介

导语 在上一篇我们已经安装好了Qt 5.5,现在正式开始学习Qt5中全新的Qt Quick编程。Qt Quick对于大部分人来说是一个全新的概念,对这样一个全新的东西要怎样开始学习呢?在没有专业书籍(当然,《Qt 5编程入门》现在已经出…

java计算机毕业设计ssm在线学习系统的设计与开发3nnzq(附源码、数据库)

java计算机毕业设计ssm在线学习系统的设计与开发3nnzq(附源码、数据库) 项目运行 环境配置: Jdk1.8 Tomcat8.5 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&a…

MapReduce 工作原理

文章目录MapReduce 工作原理一、MapReduce工作过程二、MapTask工作原理三、Reduce Task工作原理四、Shuffle工作原理五、MapReduce编程组件1、inputFormat组件2、Mapper组件3、Reducer组件4、Partitioner组件5、Combiner组件6、OutputFormat组件六、MapReduce运行模式1、本地运…

关于个人网站的搭建日志(1)静态网页

注:这篇文章不是教程,仅仅是个人踩过的一些坑的整理,建议大家去和前辈们多多交流,祝早日进步 (1)第一步,关于服务器: 我这里使用的是阿里云的云服务器(0元一个月。。。…

视觉合集4

这里总结一些论文,包括多标签分类、姿态估计、目标检测、HOI、小样本学习等研究方向。 01 面向具有标注噪声的人脸表情识别 Attack can Benefit: An Adversarial Approach to Recognizing Facial Expressions under Noisy Annotations 大规模人脸表情数据集通常表现出极端的…

基于VBA实现电缆结构自动出图(一)——自动出圆形

大家敢相信吗,原来VBA竟然可以实现电缆结构自动出图,换句话说,只要输入数据,VBA会自动将电缆的结构画出来,同时还可以渲染,结果竟然不输画图软件,真真让我刮目相看。这里我就不过多介绍VBA了&am…

类的六个默认成员函数

1.类的6个默认成员函数 如果一个类中什么成员都没有,简称为空类。空类中什么都没有吗?并不是的,任何一个类在我们不写的情 况下,都会自动生成下面6个默认成员函数。 2.构造函数 构造函数是一个特殊的成员函数,名字与…

STM32F4 | 跑马灯实验

文章目录一、 STM32F4 IO 口简介二、硬件设计三、软件设计1.位带操作(F7除外)四、实验现象五、STM32CubeMX 配置 IO 口输入在本章中,我们将通过代码控制 ALIENTEK 阿波罗 STM32 开发板上的两个 LED 灯 DS0 和 DS1 交替闪烁,实…

【salesforce Admin必备】-想到啥写点啥

【salesforce Admin必备】-想到啥写点啥 文章目录【salesforce Admin必备】-想到啥写点啥前言一,货币相关1.带汇率的多种货币-Activate multiple currencies with exchange rates1.1 启用多币种2.Update the Exchange Rate with ACM2.1启用高级货币管理(…

数据结构【树和二叉树的相关知识和题目】

文章目录引言:一、树和二叉树的相关知识(一、)什么是树1.树(1.)日常生活中的树(2.)树的基本概念(非线性结构)(3.)代码人眼中的树:&…

ORB-SLAM2 --- Tracking::UpdateLocalKeyFrames函数

目录 1.函数作用 2. 函数步骤 3.code 4.函数解析 4.1 记录共视 4.2 更新局部关键帧(mvpLocalKeyFrames) 4.3 更新当前帧的参考关键帧,与自己共视程度最高的关键帧作为参考关键帧 1.函数作用 跟踪局部地图函数里,更新局部…

【在SpringBoot项目中删除相册数据--Service层】

由于AlbumMapper.java中已经实现了“根据id删除数据表中的相册数据”,所以,可以直接从Service开始开发此功能。 先在IAlbumService中添加抽象方法: /** * 删除相册 * param id 尝试删除的相册的id */ void delete(Long id); 然后&#xf…

[附源码]Python计算机毕业设计SSM基于web的烟草售卖系统(程序+LW)

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

Android Studio Gradle 无限 Build「假死」

Android Studio Gradle 无限 Build「假死」 解决方案 工程配置 Gradle 的 gradle.properties 文件中添加如下代码: org.gradle.daemontrue org.gradle.paralleltrue然后重新 Sync 工程,漫长等待依赖下载完成后,重新 Build 项目即可 补充 …

【Unity 3D 从入门到实战】Unity 3D 组件总结

目录 一,前言 二,常用组件 1,Transform 组件 2,Mesh Filter 组件 3,Box Collider 组件 4,Rigidbody 组件 5,脚本组件 三,总结 一,前言 组件是 Unity 3D 中的重要…

Attention Is All You Need

摘要 The dominant sequence transduction models 显性序列转换模型。complex recurrent 复杂的递归。convolutional neural networks 卷积神经网络。an encoder and a decoder 编码器和解码器。The best performing models性能最佳的模型the encoder →\rightarrow→ an atte…

D. Lucky Chains

传送门 题意:给你两个数x,y让你求满足xk,yk并且GCD(xk,yk)!1的最小值。 思路:要求满足xk,yk并且GCD(xk,yk)!1的最小值,那么就相等于存在(xk)%d(yk)%d 变化一下就等于(x-y)%d0,那么就是找x-y的约数,然后这个约数可能是…

疫情散去想看电影,用css动画模拟一个阿凡达2完美开场

在历经了艰苦卓绝的3年抗疫后,疫情终于还是来了,很多小伙伴变成了小洋人酸奶,我相信过不了多少天,疫情终将散去,那个时候就可以和家人走进电影院啦。 今天用css布局一个阿凡达2的影院场景,提前过一过瘾。 目…

ARM 异常返回地址

armv7-a armv8-a linux5.15 Preferred exception return address armv7 exception return address correction armv8-32 exception return address correction armv8-64 没有查到link value offset表 arm32 data abort exception为例 周期1周期2周期3周期4周期5指令1pc-8取指…