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

4.4 成员变量与局部变量的区别有哪些?

文章目录

  • 4.5 创建一个对象用什么运算符?对象实体与对象引用有何不同?
  • 4.6 一个类的构造方法的作用是什么? 若一个类没有声明构造方法,该程序能正确执行吗? 为什么?
  • 4.7 构造方法有哪些特性?
  • 4.8 在调用子类构造方法之前会先调用父类没有参数的构造方法,其目的是?
  • 4.9 对象的相等与指向他们的引用相等,两者有什么不同?

  1. 从语法形式上看:成员变量是属于类的,而局部变量是在代码块或方法中定义的变量或是方法的参数;成员变量可以被 public,private,static 等修饰符所修饰,而局部变量不能被访问控制修饰符及 static 所修饰;但是,成员变量和局部变量都能被 final 所修饰。
  2. 从变量在内存中的存储方式来看:如果成员变量是使用static修饰的,那么这个成员变量是属于类的,如果没有使用static修饰,这个成员变量是属于实例的。而对象存在于堆内存,局部变量则存在于栈内存。
  3. 从变量在内存中的生存时间上看:成员变量是对象的一部分,它随着对象的创建而存在,而局部变量随着方法的调用而自动消失。
  4. 成员变量如果没有被赋初值:则会自动以类型的默认值而赋值(一种情况例外:被 final 修饰的成员变量也必须显式地赋值),而局部变量则不会自动赋值。

4.5 创建一个对象用什么运算符?对象实体与对象引用有何不同?

new 运算符,new 创建对象实例(对象实例在堆内存中),对象引用指向对象实例(对象引用存放在栈内存中)。一个对象引用可以指向 0 个或 1 个对象(一根绳子可以不系气球,也可以系一个气球);一个对象可以有 n 个引用指向它(可以用 n 条绳子系住一个气球)。

4.6 一个类的构造方法的作用是什么? 若一个类没有声明构造方法,该程序能正确执行吗? 为什么?

主要作用是完成对类对象的初始化工作。可以执行。因为一个类即使没有声明构造方法也会有默认的不带参数的构造方法。如果我们自己添加了类的构造方法(无论是否有参),Java 就不会再添加默认的无参数的构造方法了,这时候,就不能直接 new 一个对象而不传递参数了,所以我们一直在不知不觉地使用构造方法,这也是为什么我们在创建对象的时候后面要加一个括号(因为要调用无参的构造方法)。如果我们重载了有参的构造方法,记得都要把无参的构造方法也写出来(无论是否用到),因为这可以帮助我们在创建对象的时候少踩坑。

4.7 构造方法有哪些特性?

  1. 名字与类名相同。
  2. 没有返回值,但不能用 void 声明构造函数。
  3. 生成类的对象时自动执行,无需调用。

4.8 在调用子类构造方法之前会先调用父类没有参数的构造方法,其目的是?

帮助子类做初始化工作。

4.9 对象的相等与指向他们的引用相等,两者有什么不同?

对象的相等,比的是内存中存放的内容是否相等。而引用相等,比较的是他们指向的内存地址是否相等。

http://www.lryc.cn/news/99656.html

相关文章:

  • 学生管理系统-03项目案例(3)
  • Banana Pi BPI-KVM – 基于 Rockchip RK3568 SoC 的 KVM over IP 解决方案
  • 面试:Spring Cloud和Kubernetes的优缺点
  • TSINGSEE青犀视频安防监控视频平台EasyCVR新增密码复杂度提示
  • 前端开发中的正则表达式:解密规则的魔法
  • const的用法
  • 机器学习深度学习——模型选择、欠拟合和过拟合
  • IP 服务级别协议监控
  • Emvirus: 基于 embedding 的神经网络来预测 human-virus PPIs【Biosafety and Health,2023】
  • 安全文件传输:如何降低数据丢失的风险
  • AI绘画StableDiffusion实操教程:可爱头像奶茶小女孩(附高清图片)
  • java8 GroupingBy 用法大全
  • vue_router__WEBPACK_IMPORTED_MODULE_1__.default is not a constructor
  • 前端html2canvas和dom-to-image实现截图功能
  • Hadoop平台集群之间Hive表和分区的导出和导入迁移(脚本)
  • Linux C语言实践eBPF
  • 垃圾回收标记阶段算法
  • 泰晓科技发布 Linux Lab v1.2 正式版
  • 王道数据结构-代码实操1(全注解版)
  • flink写入到kafka 大坑解析。
  • MATLAB算法实战应用案例精讲-【深度学习】预训练模型-Subword
  • 【HarmonyOS】实现从视频提取音频并保存到pcm文件功能(API6 Java)
  • Linux:shell命令运行原理和权限的概念
  • Javascript -- 数组prototype方法探究
  • android stduio 打开工程后直接报Connection refused解决
  • 搜索与图论(一)
  • 百题千解计划【CSDN每日一练】“小明投篮,罚球线投球可得一分”(附解析+多种实现方法:Python、Java、C、C++、C#、Go、JavaScript)
  • lemon框架开发笔记
  • Spark SQL快速入门
  • linux+Jenkins+飞书机器人发送通知(带签名)