首页 > 编程语言 >《Java编程思想第四版》学习笔记15

《Java编程思想第四版》学习笔记15

时间:2023-08-17 18:04:23浏览次数:39  
标签:初始化 调用 15 构建 第四版 Java 方法 final 属性

初始化的实际过程是这样的:

(1) 在采取其他任何操作之前,为对象分配的存储空间初始化成二进制零。

(2) 就象前面叙述的那样,调用基础类构建器。此时,被覆盖的draw()方法会得到调用(的确是在RoundGlyph 构建器调用之前),此时会发现 radius 的值为 0,这是由于步骤(1)造成的。

(3) 按照原先声明的顺序调用成员初始化代码。

(4) 调用衍生类构建器的主体。

因此,设计构建器时一个特别有效的规则是:用尽可能简单的方法使对象进入就绪状态;如果可能,避免调用任何方法。在构建器内唯一能够安全调用的是在基础类中具有final 属性的那些方法(也适用于 private方法,它们自动具有 final 属性)。这些方法不能被覆盖,所以不会出现上述潜在的问题。

                                                                                                                        P.204

这个原则需要记住!

标签:初始化,调用,15,构建,第四版,Java,方法,final,属性
From: https://blog.51cto.com/u_16183536/7126035

相关文章

  • 2023年 Java 面试八股文(20w字)
    第一章-Java基础篇1、你是怎样理解OOP面向对象难度系数:⭐面向对象是利于语言对现实事物进行抽象。面向对象具有以下特征:继承:继承是从已有类得到继承信息创建新类的过程封装:封装是把数据和操作数据的方法绑定起来,对数据的访问只能通过已定义的接口多态性:多态性是指允许不同......
  • 暑假牛客多校第九场 2023-8-15(D、I)
    未补完D.Non-Puzzle:ErrorPermutation算法:差分做法:   考虑题目的数据,我们的做法可以先枚举出不合法的区间数,然后由区间总数减去不合法区间数。我们首先确定一个数,令这个数就是包含这个数的一段区间的不和法值,即这个数是第\(i\)小的数。一开始我们使这段区间大小......
  • java stream分组之后求和
    javastream分组之后求和癞蛤蟆吃了小天鹅于2022-08-2609:37:42发布6023收藏4文章标签:java版权注:elementComponentDtos.stream().mapToDouble(ElementComponentDto::getAmount).sum();为求和可以根据返回类型的不同去改变相对应的求和函数(mapToDouble)注BigDecimal为了保......
  • 【狂神说Java】Java零基础学习笔记-JavaSE总结
    【狂神说Java】Java零基础学习笔记-JavaSE总结JavaSE总结:......
  • java:使用flexmark-java 实现 CommonMark(规范 0.28)解析
    文档https://github.com/vsch/flexmark-java依赖Java8<dependency><groupId>com.vladsch.flexmark</groupId><artifactId>flexmark-all</artifactId><version>0.62.2</version></dependency>Java9+&l......
  • Java踩坑1.Plugin org.apache.maven.plugins:maven-install-plugin:2.5 could not
    首次运行maveninstall或任何一个插件时,报错:Downloadingfromhuaweicloud:https://repo.huaweicloud.com/repository/maven/org/apache/maven/plugins/maven-install-plugin/2.5/maven-clean-plugin-2.5.pom[INFO]---------------------------------------------------------......
  • 【狂神说Java】Java零基础学习笔记-异常
    【狂神说Java】Java零基础学习笔记-异常异常01:Error和Exception什么是异常实际工作中,遇到的情况不可能是非常完美的。比如:你写的某个模块,用户输入不一定符合你的要求、你的程序要打开某个文件,这个文件可能不存在或者文件格式不对,你要读取数据库的数据,数据可能是空的等。我们......
  • javascript学习笔记day3
    今天没做啥笔记都是些学了的基础知识,学的都是像while,switch这些基础的语法,下面带是笔记++i前置运算和i++后置运算的区别:前置运行先相加再计算,后端运算先计算完再++。比较符也有隐式转换brank退出循环continue退出本次循环继续下次循环 顺便把while的循环作业一起放上来了,这个......
  • JAVA权限管理 助力企业精细化运营
    在企业的日常经营中,企业人数达到一定数量之后,就需要对企业的层级和部门进行细分,建立企业的树形组织架构。围绕着树形组织架构,企业能够将权限落实到个人,避免企业内部出现管理混乱等情况。权限管理是每个企业管理中的重要内容,但在实操中,权限管理面临着诸多考验。因为,权限管理本身不......
  • (随笔)java的几种不同类的介绍和说明
    在Java中,有几种不同类型的类可以用于实现类的嵌套和封装。下面是四种常见的类类型:外部类(OuterClass):外部类是最基本的类类型,它独立存在并且不依赖于其他类。外部类可以包含成员变量、方法和其他内部类。外部类不能直接访问内部类的成员,但可以通过创建内部类对象来访问。静态......