当前位置: 首页 > news >正文

Java--可变参数--作用域--构造器--this

目录

可变参数:

注意事项和细节:

作用域:

注意事项和细节:

构造器:

注意事项和细节:

this:

注意事项和细节:


介绍:java中允许同一个类中,多个同名方法的存在,但要求新参列表不一致。

好处:

1. 减轻了起名的麻烦

2. 减轻了记名的麻烦

注意事项和细节:
1. 方法名:必须相同

2. 新参列表:必须不同(形参类型或个数或顺序,至少有一项不同,参数名无要求)

3. 返回类型:无要求

可变参数:

概念:允许将同一个类中多个同名同功能但参数个数不同的方法,封装成一个方法。

语法:访问修饰符 返回类型 方法名 (数据类型... 形参名){

}

注意事项和细节:

1. 可变参数的实参可以为0个或者任意多个

2. 可变参数的实参可以为数组

3. 可变参数的本质就是数组

4. 可变参数和普通类型的参数一起放在参数列表,但必须保证可变参数在最后

5. 一个形参列表中只能出现一个可变参数

作用域:

基本使用:面向对象中,变量作用域是非常重要的知识点,相对来说不是特别好理解。

1. 在java编程中,主要的变量是属性和局部变量

2. 我们说的局部变量一般是指在成员方法中定义的变量。

3. java中作用域的分类

全局变量:也就是属性,作用域为整个类体Cat类

局部变量:也就是除了属性之外外地其他变量,作用域为定义它的代码块中

4. 全局变量可以不赋值,直接使用,因为有默认值,局部变量必须在赋值后才能使用,因为没有默认值。

注意事项和细节:

1. 属性和局部变量可以重名,访问时遵循就近原则

2. 在同一个作用域中,比如在同一个成员方法中,俩个局部变量,不能重名

3. 属性生命周期较长,伴随着对象的创建而创建,伴随着对象的销毁而销毁。局部变量,生命周期较短,伴随着它的代码块的执行而创建,伴随着代码块的结束而销毁。

4. 作用域范围不同

全局变量/属性:可以被本类使用,或其他类使用

局部变量:只能在本类中对应的方法中使用

5. 修饰符不同:

全局变量/属性可以加修饰符

局部变量不可以加修饰符

构造器:

介绍:构造方法叫构造器,是类的一种特殊的方法,它的主要作用是完成对新对象的初始化。

特点:1.方法名和类名相同

           2.没有返回值

           3.在创建对象时,系统会自动的调用该类的构造器完成对象的初始化

注意事项和细节:

1. 一个类可以定义多个不同的构造器,即构造器重载

2. 构造器名和类名要相同

3. 构造器没有返回值

4. 构造器是完成对象的初始化,并不是创建对象

5. 在创建对象时,系统会自动的调用该类的构造方法

6. 如果程序员没有定义构造器,系统会自动给类生成一个默认无参的构造器

7. 一但定义了自己的构造器,默认的构造器就覆盖了,就不能再使用默认的无参构造器,除非显示的定义一下。

对象创建的流程分析:

1. 加载Person类信息,只会加载一次

2. 再堆中分配空间

3. 完成对象初始化

4. 在对象在堆中的地址,返回给P(p是对象名,也可以理解成是对象的引用)。

this:

注意事项和细节:

1. this关键字可以用来访问本类的属性,方法,构造器

2. this用于区分当前类的属性和局部变量

3. 访问成员方法的语句:this.方法名(参数列表)

4. 访问构造器语法: this(参数列表);注意只能在构造器使用,必须放在第一条语句

5. this不能在类定义的外部使用,只能在类定义的方法中使用。

相关文章:

  • Qwen-VL系列全面解析:从技术突破到应用实践
  • OSPF(开放最短路径优先)
  • ROS常用的路径规划算法介绍
  • Excel之将一堆姓名拆成一列4
  • 1.认识Docker
  • 第十二节:Vben Admin 最新 v5.0 (vben5) 快速入门 - 两种权限控制方式(附前后端代码)
  • 《伴时匣》app开发技术分享--表单提交页(5)
  • STM32H723ZGT6-修改内存分布以定义很大的数组
  • HarmonyOS 公共事件机制介绍以及多进程之间的通信实现(9000字详解)
  • FPGA实现CameraLink视频解码,基于Xilinx ISERDES2原语,提供4套工程源码和技术支持
  • 闲庭信步使用SV搭建图像测试平台:第十九课——YCbCr图像转RGB图像
  • 多模态大语言模型arxiv论文略读(143)
  • python基础23(2025.6.29)分布式爬虫(增量式爬虫去重)redis应用_(未完成!)
  • Vue列表渲染与数据监测原理
  • win上对调ctrl和alt键
  • Gemini cli Quickstart
  • Conda 环境配置之 -- Mamba安装(causal-conv1d、mamba_ssm 最简单配置方法)-- 不需要重新配置CDUA
  • 【FreeRTOS-任务通知】
  • 【Linux高级全栈开发】2.4 自研框架:基于 dpdk 的用户态协议栈的实现
  • 数据结构 哈希表、栈的应用与链式队列 6.29 (尾)