Thinking_in_Java
文章平均质量分 72
Thanking in Java
20230716
这个作者很懒,什么都没留下…
展开
-
笔记_from_Java编程思想(第十三章 字符串)
不可变String String对象是不可变的。查看JDK文档发现,String类中每一个看似会修改String值的方法实际上是创建了一个全新的String对象,以包含修改后的字符串内容,而最初的String对象则丝毫未动(对于一个方法而言,参数就是为该方法提供信息的,而不是让该方法改变自己)。 重载“+”与StringBuilder String对象是不可变的,你可以给String对象加任意多的别名。因为String对象具有只读特性,所以指向它的任何引用都不可能改变它的值,因此,也就不会对其他的引用有什么原创 2021-07-09 19:08:51 · 134 阅读 · 0 评论 -
笔记_from_Java编程思想(第十二章 通过异常处理错误)
异常与记录日志 import java.util.logging.Logger; import java.io.*; class LoggingException extends Exception { //静态的Logger.getLogger()方法创建了一个String参数相关联的Logger对象(通常与错误相关的包名或类名) //该Logger对象会将其输出发送到System.err private static Logger logger= Logger.getLogger原创 2021-07-08 20:52:17 · 89 阅读 · 0 评论 -
笔记_from_Java编程思想(第十一章 持有对象)
基本概念 Java容器类类库的用途是“保存对象”,并将其划分为两个不同的概念: 1) Collection。一个独立元素的序列,这些元素都服从一条或多条规则: List必须按照插入的顺序保存元素 Set不能有重复元素 Queue按照排队规则来确定对象产生的顺序 2) Map。一组成对的“键对值”对象,允许使用键来查找值。ArrayList允许使用数字来查找。 所有Collection都可以用foreeach语句遍历。 添加一组元素 Array.asList()方法接受一个数组或是一个用逗号分隔的元素列表(使原创 2021-07-04 20:08:44 · 86 阅读 · 0 评论 -
笔记_from_Java编程思想(第九章 接口&&第十章 内部类)
接口 可以选择在接口中显示地将方法声明为public,但即使不这样做它们也是public 放入接口域(成员)为static和final,在定义时必须初始化(编译器不会给默认值)也可以非常量表达式初始化,这些域不是接口的一部分,它们的值被存储在该接口的静态存储区域内。 组合接口时的名字冲突 interface CanFight{void fight();} interface CanSwim{void swim();} interface CanFly{void fly();} class ActionCha原创 2021-06-30 15:52:13 · 94 阅读 · 0 评论 -
Java编程思想(第五章 初始化和清理)
重载方法里的参数类型不一致: 1、 如果传入的数据类型(实际参数类型)小于方法中声明的形式参数类型,实际参数类型就会被提升。 2、 char 型略有不同,如果无法找到恰好接受char参数的方法,就会把char直接提升为int型。 3、 如果传入的实际参数较大,就得用类型转换来执行窄化抓换,否则编译器将报错。 默认构造器: 在类里没有构造器时,编译器自动生成默认构造器,一旦自己写了一个,系统不会再帮忙建立默认构造器 初始化: Java可以对类内变量赋初值,也可以选择不赋值,这是变量就是默认值(C++可不行),原创 2021-06-27 18:49:57 · 61 阅读 · 0 评论 -
Java编程思想(第七章 复用类&&第八章 多态)
第七章 方法覆盖 Java SE5中新增加了 @Override 注解,它虽非关键字,但可以用作关键字。当编写程序想要覆盖某方法时可以选择添加,在不小心将方法重载而非注释时,编辑器将会报错。 protected关键字 它指明“就类用户而言,这是private”,但对于任何继承与此类的导出类(子类)或其他位于同一包内的类来说,它是可以访问的。 第八章 多态 构造器内部的多态方法的行为 在一般方法内部,动态绑定的调用是在运行时才决定的,因为对象无法知道它是属于方法所在的那个类,还是属于那个类的导出类。 如果要原创 2021-06-29 21:45:15 · 100 阅读 · 0 评论 -
Java编程思想(第四章 控制执行流程)
Java中“goto”的使用 goto语句作为源码级上的跳转模糊了程序的流程控制。在Java中想要使用类似的机制需要使用continue和label //文件名:temp public class temp { public static void main(String[]args) { int i=0; outer: //设置标签outer,冒号后不能放置其他语句 for(;true;) { inne原创 2021-06-27 10:02:31 · 108 阅读 · 0 评论