![](https://img-blog.csdnimg.cn/20210312081428931.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java SE
文章平均质量分 70
输出
Dyski丶
主动去找反馈!
展开
-
《Java 编程思想》学习笔记 12 | 字符串与正则表达式
1.String是不可变的也就是之前提到的,它是final的;当需要改变字符串的内容时,String类的方法都会返回一个新的String对象;同时,如果内容没有改变,String的方法只是返回指向原对象的引用而已,节约了存储空间,避免了额外的开销。2.StringBuilder比StringBuffer更高效StringBuilder是JavaSE5引入的,StringBuffer是之前用的(线程安全的,因此开销也会大一些)。最常用的方法有append() toString() delete()原创 2021-03-31 21:18:32 · 193 阅读 · 0 评论 -
《Java 编程思想》学习笔记 11 | 通过异常处理错误
1.Throwable类型是异常类型的根类2.try块与异常处理程序catch在一个方法中如果抛出了异常,那么该方法就会在抛出异常的过程中结束;要想让该方法继续执行,那么就得在该方法中捕获异常:使用try块即可。 捕获(抛出的)异常之后当然就得处理异常,而catch就是异常处理程序:捕获异常之后,异常类型会作为参数与catch的参数进行匹配,匹配到了就跳转到相应的catch块中执行异常处理程序。并且catch可以有多个,跳转到其中一个执行之后便会停止(这与switch不同)。try {}原创 2021-03-26 22:05:57 · 98 阅读 · 0 评论 -
《Java 编程思想》学习笔记 10 | 持有对象
1.数组的尺寸是有限制的,而容器没有数组是具有固定尺寸的。 而容器是没有固定尺寸的,你可以把任意数量的对象放置在容器中,并且不需要指定容器的大小。2.容器应配合泛型来使用通过给容器规定泛型,使该容器只能添加该泛型类型的对象。 容器也接收可以向上转型为泛型类型的对象。ArrayList<Apple> list = new ArrayList<>(); //只能存储Apple类型的对象 3.当不需要索引时,可以使用foreach语法来遍历容器(演示遍历List容器)原创 2021-03-26 10:07:44 · 119 阅读 · 0 评论 -
《Java 编程思想》学习笔记 09 | 内部类
1.在外部类的普通方法里可以直接创建内部类对象public class Outer { private class Inner { Inner() {} } public void show() { Inner inner = new Inner(); //直接创建 }}2.在main方法里,没有外部类对象的引用就无法创建普通内部类对象,静态内部类除外可以使用.this或.new来获取外部类对象的引用 没有外部类对原创 2021-03-24 00:02:35 · 189 阅读 · 0 评论 -
《Java 编程思想》学习笔记 08 | 接口
1.抽象类是普通类和接口之间的一种中庸之道如果你不想创建某一个类的对象,而是仅仅想把它用作给子类继承,那么就可以使用抽象类,因为你无法new一个抽象类的对象,如果你new了,编译器就会报错。2.含有抽象方法的类叫抽象类,也可以不含抽象方法,用abstract修饰类就行抽象方法:用abstract修饰,没有方法体,用分号结尾。如:abstract void f();抽象类:用abstract修饰,包含抽象方法,如:abstract class Father {...}抽象类之所以不像接口那原创 2021-03-19 21:19:26 · 210 阅读 · 0 评论 -
《Java 编程思想》学习笔记 07 | 多态
1.动态绑定=后期绑定=运行时绑定绑定:将一个方法调用同一个方法体关联起来被称作绑定。 动态绑定:在运行时,方法调用根据对象的类型(而不是引用的类型)与正确的方法体进行绑定。也叫后期绑定或运行时绑定。 Java中除了static方法和final方法(private方法也是final方法)之外,其它所有的方法都是后期绑定。 要想实现动态绑定,就必须具有某种机制,以便在运行时能判断对象的类型,从而调用正确的方法,在这种机制中,不管怎样,都必须在对象中安置某种“类型信息”。 动态绑定机制随编程语言的不原创 2021-03-17 22:56:43 · 246 阅读 · 3 评论 -
《Java 编程思想》学习笔记 06 | 复用类
1.创建的类总是在继承如果创建的类没有明确声明继承自哪个类,那么该类就会默认继承自Object类。2.用super可以调用从基类继承而来的方法假如子类重写了父类的一个方法,而你又想调用父类的方法,就可以使用super来调用。3.初始化基类Java仅有一种方法用来保证正确的初始化基类:在子类构造器中调用基类构造器。注意:子类的默认构造器也会默认调用基类的构造器,前提是基类的构造器是不带参的构造器。 如果基类的构造器是有参的,没有无参的,那么就必须显式的定义出子类的构造器并调用基类原创 2021-03-16 21:35:54 · 143 阅读 · 2 评论 -
《Java 编程思想》学习笔记 05 | 访问权限控制
1.访问权限控制的等级以最大权限到最小权限依次为:public(接口访问权限) protected(继承访问权限+包访问权限) 包访问权限 private(类访问权限)2.每个类中只有一个public类Java中明确规定,一个类中只能有一个public类,其它的类仅仅只是为了给这个public类提供支持,并且包外的世界无法访问这些非public类。3.package与importpackage a.b.c; //将下面的Myclass这个编译单元声明为a.b.c这个类库的一部分原创 2021-03-16 21:33:44 · 714 阅读 · 0 评论 -
《Java 编程思想》学习笔记 04 | 初始化与清理
1.new表达式与构造器new表达式会返回对新建对象的引用,但这与构造器一点关系也没有,构造器本身并没有任何返回值。并且与返回值为空void明显不同,构造器不会返回任何东西。2.默认构造器当你什么构造器也没写时,系统会自动默认的给你一个无参构造器。 但当你写了一个有参构造器,并且当前类中仅有这一个构造器时,那你就只能用这个有参构造器来创建对象,而默认的无参构造器会自动消失,你若想要同时获得一个无参构造器,那就只能再重新写一个无参构造器出来,这样,在当前类中才会同时存在一个无参构造器和一个有参构原创 2021-03-14 22:02:32 · 218 阅读 · 0 评论 -
《Java 编程思想》学习笔记 03 | 执行控制流程
1.数字不再与布尔值挂钩Java不允许我们将数字作为布尔值使用。2.Math库的静态方法random()该方法是产生0和1(左闭右开,包括0但不包括1)之间的一个double值。3.逗号操作符Java里唯一用到逗号操作符的就是for循环的控制表达式。在for循环的初始化和步进控制部分,可以使用一系列由逗号分隔的语句,这些语句会独立执行。4.switchswitch语句的选择因子必须是int或char那样的整数值。Random rand = new Random(47); /原创 2021-03-12 08:17:31 · 149 阅读 · 0 评论 -
《Java 编程思想》学习笔记 02 | 操作符
1.将一个对象赋值给另一个对象首先,我们应该明确,赋值操作的是对象的引用。当我们对一个对象进行赋值操作时,实际上我们操作的是对对象的引用。所以,倘若将一个对象赋值给另一个对象时,实际上是将引用从一个地方复制到另一个地方。比如,当我们对相同类型的实例对象a和b使用a = b,那么a和b都指向原本只有b指向的那个对象。class Tank { int level;}class Assignment { public static void main(string[] ar原创 2021-03-10 21:29:35 · 103 阅读 · 0 评论 -
《Java 编程思想》学习笔记 01 | 一切都是对象
1.对象存储到什么地方所有的Java对象都存放在堆中,堆是一种通用的内存池,位于RAM区中。2.基本类型与newnew将对象存储在堆里,但是如果new一个特别是小的、简单的变量(基本类型),往往不是很有效。因此,Java中是直接创建一个并非是引用的“自动”变量,该变量直接存储基本类型的值,并置于堆栈中,会变得更加高效。3.永远不需要销毁对象Java有一个“垃圾回收器”,用来监视用new创建的所有对象,并辨别那些不会再被引用的对象。随后,释放这些对象的内存空间,以便供其它新的对象使用。原创 2021-03-10 21:07:24 · 88 阅读 · 0 评论