Java
文章平均质量分 72
Java基础
半臻(火白)
技术栈:Python、Java、大数据、人工智能
展开
-
Java编程思想笔记16——第16章:数组
16 数组16.1 数组为什么特殊 Java中有大量的持有对象(Collection和Map),为什么还要用数组? 数组存储效率最高,随机访问速度快。但是数组的大小是固定的,并且不能更改。 如果下标超过了数组的长度,就会出现数组越界(RuntimeException)import java.util.ArrayList;import java.util.Arrays;import java.util.List;public class Test4 { public static原创 2021-07-27 18:26:52 · 121 阅读 · 0 评论 -
Java编程思想笔记15——第15章:泛型
15 泛型 多态算是一种泛化机制,比如将参数类型设置为基类,那么就可以传入他的子类。 JaveSE5之后,引入了泛型的概念,使代码可以应用于多种类型。15.1 与C++的比较 作者将Java的泛型与C++进行了一番比较。从而理解泛型的基础以及局限。15.2 简单的泛型 泛型最重要的应用就是创造容器类import java.util.ArrayList;import java.util.List;class Seq<T>{//获得一个容器类 private List&原创 2021-07-27 18:25:10 · 138 阅读 · 0 评论 -
Java编程思想笔记14——第14章:类型信息
14 类型信息 本章讨论Java如何在运行时识别对象和类的信息。 主要有两种方式 (1)传统的”RTTI“,在编译时已经知道所有类型 (2)”反射“机制,允许在运行时发现和使用类的信息14.1 为什么需要RTTIinterface Animal{ void bark();}class Dog implements Animal{ @Override public void bark() { System.out.println("汪汪汪"); }}class原创 2021-07-26 13:33:34 · 154 阅读 · 0 评论 -
Java编程思想笔记13——第13章:字符串
12 通过异常处理错误 错误分别编译时错误和运行时错误 编译时错误在编译的时候就会提示 运行时错误则要在允许时才会出现,而异常处理主要是处理运行时错误。12.1 概念 对于异常,不应该置之不理,而是将其处理或者抛给更高的一级。12.2 基本异常 比如说除0操作,就会产生一个异常。 当出现异常时,Java会new一个异常对象,然后弹出异常对象的引用。 如果可以处理,则当当前代码处理,如果处理不了则抛给上一级进行处理。if (t==null) throw new Nul原创 2021-07-25 11:32:59 · 183 阅读 · 1 评论 -
Java编程思想笔记12——第12章:通过异常处理错误
原创 2021-07-24 22:08:43 · 116 阅读 · 0 评论 -
Java编程思想笔记11——第11章:持有对象
11 持有对象 通常,程序总是根据运行时才知道某些条件去创建新的对象。 不需要事先定义好创建的数量,可以根据需要创建任意数量的对象。 数组则必须实现指定数量,所以有所约束。 Java提供了容器类来解决这个问题,基本的类型是List、Set、Queue和Map。这些称之为集合类,且都是Collection类或Map类的子类。 Set不能保存重复值。 Map允许将对象与其他对象关联起来。 这些容器不需要事先指定大小。11.1 泛型和类型安全的容器 在JavaSE5之前,可以像容原创 2021-07-24 15:10:48 · 118 阅读 · 1 评论 -
Java编程思想笔记10——第十章:内部类
10 内部类 将一个类定义在另一个类中,称为内部类。 也许一开始并不需要用到内部类,但是10.8节有相信探讨内部类的使用方式。10.1 创建内部类public class OutClass{ class In1{ private int i = 11; } class In2{ void speak(){ System.out.println("hello"); } }原创 2021-07-23 19:42:34 · 154 阅读 · 0 评论 -
Java编程思想笔记9——第九章:接口
9 接口 接口和内部类是提供一种将接口与实现分离的更加结构化的方法。 学习接口前需要先学习抽象类9.1 抽象类和抽象方法 在抽象类中提供了抽象方法的机制,抽象方法没有方法体,只有方法名和返回值。abstract void f(); 抽象类是无法new一个对象的。 抽象类的子类必须实现所有的抽象方法。 抽象类可以没有抽象方法,但是作者认为这样做就毫无意义了。abstract class Instrument{ private int i; public abst原创 2021-07-21 15:02:14 · 99 阅读 · 0 评论 -
Java编程思想笔记8——第八章:多态
8、多态 在面向对象的程序设计语言中,有三大特性,分别是封装、继承、多态。 多态分离了做什么和怎么做两个概念,做什么对应着接口,而怎么做对应着实现。 多态可以改善代码的组织结构和可读性,还能够创建可扩展的程序。 一个基类(父类)有许多不同的子类,在通过向上转型调用时,可以根据不同的子类,调用不同子类的方法。8.1 再论向上转型 基类(父类)的指针指向子类的对象,就称之为向上转型。class Father{ void speak(){ System.out.pr原创 2021-07-11 13:09:50 · 307 阅读 · 3 评论 -
Java编程思想笔记7——第七章:复用类
7、复用类 复用代码是Java众多引人注目的功能之一。组合和继承 不需要重新写,只需要在新类中调用其他的类即可,这样就能保证原有的程序不被破坏掉。这种方法称为组合。 第二种方法则通过新类继承以前的类,来达到扩展的目的。7.1 组合语法 本书之前已经使用了多次组合技术。class Door{ int height; String color;}class Window{ int height; int width;}class House{原创 2021-07-11 13:08:37 · 153 阅读 · 0 评论 -
Java编程思想笔记6——第六章:访问控制权限
6、访问控制权限 通过Java提供访问权限修饰词,以供类库开发人员向客户端程序员指明哪些时可用的,哪些是不可用的。 权限从大到小依次为: (1)public (2)protect (3)包访问权限(没有关键词) (4)private6.1 包:库单元 包中有很多的类,这些类属于同一名字空间。 例如:java.util是名字空间,java.util中有ArrayList的类。java.util.ArrayList list = new java.util.Arra原创 2021-07-11 13:07:43 · 113 阅读 · 1 评论 -
Java编程思想笔记5——第五章:初始化与清理
5、初始化与清理在C语言和C++中系统是不会自动清理垃圾,导致初始化的变量一直存在内存中,导致内存泄漏。所以Java提出了“垃圾回收器”,对于不再使用的内存资源,垃圾回收能自动将其释放。5.1 构造器(构造方法)确保初始化对每一个类都需要定义一个initialize()方法,Java用户在操作对象之前会自动调用相应的构造器。在Java中构造函数的名字和类名是相同的。class Rock{ Rock(){ System.out.println("这是构造方法") }原创 2021-07-11 13:06:21 · 199 阅读 · 0 评论 -
Java编程思想笔记4——第四章:控制执行流程
4、控制执行流程Java使用了C的所有流程控制语句。Java涉及的关键字包括if-else、while、do-while、for、return、break、switchJava并不支持goto。 有一种类似goto的跳转,然后有了很多的限制。4.1 true和false通过 == ,然后相等返回true,如果不相等返回false4.2 if-elseif (表达式1){ //语句}else{ //语句}if (表达式1){ //语句}else if{原创 2021-07-11 13:04:34 · 73 阅读 · 0 评论 -
Java编程思想笔记3——第三章:操作符
3、操作符在最底层,Java中的数据是通过使用操作符来操作的3.1 更简便的打印方式Thinking in Java的作者,通过自己定义的包,将System.out.println变成了print,但是为了保证java的特殊性,我在后面的代码中并没有使用这种简便的方式。3.2 使用Java操作符常见的操作符 + - * /几乎所有的操作符只能操作基本类型,但是String也可以被+操作另外 =、== 、!= 则可以操作对象类型3.3 优先级先乘除后加减3.4 赋值操作符=,取右边的值,原创 2021-07-11 13:02:54 · 125 阅读 · 1 评论 -
Java编程思想笔记2——第二章:一切都是对象
2、一切都是对象相比于C++,Java是一种更纯粹的语言。C++太过于复杂,Java是一个纯粹的面向对象的语言,Java的一切皆是对象。2.1 用引用操纵对象在C语言和C++中使用指针进行操纵。Java则没有指针,但是因为万物皆对象,所以操作的标识符实际上就是一个引用。作者用电视遥控器来举例子,遥控器就是引用,电视就是数据,即使没有遥控器,电视依然存在。例如String s = "asdf"2.2 必须由你创建所有对象使用new关键字来达到引用的目的String s = new Stri原创 2021-07-11 13:00:38 · 142 阅读 · 0 评论