首页 > 编程语言 >Java 方法的重载、可变参数、作用域

Java 方法的重载、可变参数、作用域

时间:2023-07-05 21:23:04浏览次数:52  
标签:Java 作用域 局部变量 参数 可变 重载 全局变量 方法

Java 方法的重载、可变参数、作用域

1. 方法的重载

使用相同的方法名来定义不同的方法,方法的重载能优化代码,减少冗余度。

在使用方法的重载需要注意的地方有:

1. 方法的重载需要方法名相同,并且形参类别、个数、顺序不同(满足其中之一)

2. 方法的重载与方法的返回类型、形参名没有关系

3. 在使用方法的传参的时候,严格按照重载的方法类型传值。

2. 可变参数

当使用多个方法中功能一样,但形参个数不一样的时候,可以使用可变参数。

可变参数使用细节:

可变参数可以理解为一个数组,具体定义方法: 数据类型... 变量名,在定义的时候要注意把可变参数作为最后一个形参即顺序为最后,不能在其他参数的前面。

可变参数只能有一个,一个方法里不允许有多个可变参数

可变参数可以接受0-多个数据类型匹配的参数,可变参数也可以接受数组作为参数可变参数获得值的方法与数组遍历相同,都可以通过length来获取元素个数

3. 作用域

作用域分为全局变量(属性)和局部变量

全局变量:可以理解为类中的属性,在本类中可以直接使用

局部变量:定义在方法或代码块里的变量,只能在定义的代码块范围使用

使用细节:

在使用全局变量的时候可以不用赋值,自动会赋默认值

在使用局部变量的时候必须先赋值后使用,不然编译系统会报错

全局变量与局部变量可以重名,使用的时候采取就近原则即选择作用域更近的那一个变量

局部变量里不能出现相同的变量名

全局变量生命周期较长,随着对象的创建而创建,对象的销毁而销毁

局部变量生命周期较短,随着代码块的执行而创建,代码块执行完毕而销毁

全局变量可以被本类使用或其他类中创建本类对象调用

局部变量只能在本类中对应的代码块使用

全局变量可以通过修饰符修饰,而局部变量不可以

标签:Java,作用域,局部变量,参数,可变,重载,全局变量,方法
From: https://www.cnblogs.com/Sean-y/p/17529820.html

相关文章

  • 从头学Java17-Stream API(二)结合Record、Optional
    StreamAPIStreamAPI是按照map/filter/reduce方法处理内存中数据的最佳工具。本系列教程由Record讲起,然后结合Optional,讨论collector的设计。使用Record对不可变数据进行建模Java语言为您提供了几种创建不可变类的方法。可能最直接的是创建一个包含final字段的final类。......
  • JavaScript(七)ES6
    Node环境安装nvm、npm、nrmnvm:管理多个版本的node环境,使用nvm安装nodejsnpm:npm是node的包管理工具,使用nvm安装node后,就可以使用npm命令nrm:管理npm的镜像源,使用npm命令安装Babel转码器可以将es6代码转成es5代码。从而可以在老版本浏览器执行在项目根目录下安装np......
  • JavaScript(六)事件处理
    常见的HTML事件常见HTML事件事件描述onchangeHTML元素已被改变onclick用户点击了HTML元素onmouseover用户把鼠标移动到HTML元素上onmouseout用户把鼠标移开HTML元素onkeydown用户按下键盘按键onload浏览器已经完成页面加载事件处理方式......
  • JavaScript(五)浏览器操作
    浏览器对象windowwindow对象不但充当全局作用域,而且表示浏览器窗口。window对象有innerWidth和innerHeight属性,可以获取浏览器窗口的内部宽度和高度。outerWidth和outerHeight属性,可以获取浏览器窗口的整个宽高。navigator:navigator对象表示浏览器的信息,最常用的属......
  • 【狂神说Java】Java零基础学习笔记-Java流程控制
    【狂神说Java】Java零基础学习笔记-Java流程控制Scanner对象之前我们学的基本语法中我们并没有实现程序和人的交互,但是Java给我们提供了这样一个工具类,我们可以获取用户的输入。java.util.Scanner是Java5的新特征,我们可以通过Scanner类来获取用户的输入。基本语法:Scanner......
  • java后端设置session
    session可以用于请求后端数据共享privatestaticvoidflushSession(HttpServletRequestrequest,UserInfoDOuserInfoDO){StringshortName=userInfo.getShortName();StringempId=userInfoDO.getEmpId();Map<String,Object>principalAttri......
  • 【12.0】前端基础JavaScript之DOM
    【12.0】前端基础JavaScript之DOM【一】什么是DOM/BOM截至目前为止,我们虽然已经学会了js语法,但是还是没办法跟浏览器进行交互BOM(BrowserObjectModel)浏览器对象模型js代码操作浏览器DOM(DocunmentObjectModel)文档对象模型js代码操作标签【二】Window......
  • kettle 组件之java代码
    新建转换,搜索java,然后选中脚本中的java代码,拖动到右侧 双击拖动过来的java代码,依次点击CodeSnippits→Commonuse→main,然后在窗口右侧会出现一堆代码 跳到整段代码的最后,找到putRow(data.outputRowMeta,r);然后在这段代码的上方输入两行代码:Stringvar=get(Fields.I......
  • Java基础-Day11
    Java基础-Day11关键字this知识点理解方式:3W:what?why?how?this的使用示例:this关键字的使用:1.this可以用来修饰:属性、方法、构造器2.this修饰属性和方法:this理解为:当前对象​ 在类的方法中,我们可以使用this.属性或this.方法的方式,调用当前对象的属性或方法。但......
  • JAVA微服务分布式事务的几种实现方式
    基础理论CAP理论一致性(Consistency):在分布式系统中所有的数据备份,在同一时刻都保持一致状态,如无法保证状态一致,直接返回错误;可用性(Availability):在集群中一部分节点故障,也能保证客户端访问系统并得到正确响应,允许一定时间内数据状态不一致;分区容错性(Partitiontolerance):分布式......