Java 之路
文章平均质量分 94
Java 学习,重温 Thinking in Java
whd_Alive
过去の自分が今仆の土台となる
展开
-
Java 之路 (二十) -- Java I/O 上(BIO、文件、数据流、如何选择I/O流、典型用例)
前言Java 的 I/O 类库使用 流 这个抽象概念,代表任何有能力产出数据的数据源对象或者是有能力接收数据的接收端对象。流 屏蔽了实际的 I/O 设备中处理数据的细节。数据流是一串连续不断的数据的集合,简单理解的话,我们可以把 Java 数据流当作是 管道里的水流。我们只从一端供水(输入流),而另一端出水(输出流)。对输入端而言,只关心如何写入数据,一次整体全部输入还是分段输入等;对于输...原创 2018-08-24 15:42:33 · 503 阅读 · 0 评论 -
Java 之路 (十九) -- 注解(语法、预定义注解、元注解、重复注解、注解与反射)
前言官方注解的定义如下: 注解(一种元数据形式)提供有关不属于程序本身的程序的数据。注解对它们注解的代码的操作没有直接影响。 注解有许多用途,其中包括: 编译器的信息 - 编译器可以使用注解来检测错误或抑制警告。 编译时和部署时处理 - 软件工具可以处理注解信息以生成代码,XML文件等。 运行时处理 - 可以在运行时检查某些注解。 第一次看时...原创 2018-08-23 11:36:57 · 667 阅读 · 0 评论 -
Java 之路 (十八) -- 容器深入研究(容器接口,实现类特性及对比)
1. 接口首先,放上层次图(少了Queue)。 Collection 继承了 Iterator 接口(事实上,该接口是所有集合的总接口),定义了集合的遍历操作。前面我们已经介绍过集合类的基础知识,这里就简单回顾以下:**Collection:**Collection 是一个接口,没有直接实现类。它用来传递集合并在需要最大通用性时对其进行操作。List:有序集合(或称为序列)...原创 2018-08-18 15:36:11 · 424 阅读 · 0 评论 -
Java 之路 (十七) -- 数组(基本概念与使用、数组与泛型、数组操作、Arrays 类)
学完复杂的泛型,来学点简单的。本文介绍 Java 数组的相关知识。1. 基本概念数组是一个容器对象,它包含固定数量的单个类型的值。 创建数组时,将建立数组的长度。 创建后,其长度是固定的。 数组中的每个项成为元素,每个元素由其数组索引访问。举个简单例子:class ArrayDemo { public static void main...原创 2018-08-17 15:11:03 · 428 阅读 · 0 评论 -
Java 之路 (十六) -- 泛型下(通配符、类型擦除、泛型的限制)
7. 通配符通配符,即 “?”,用来表示未知类型。通配符可用作各种情况:作为参数,字段或局部变量的类型;有时也作为返回类型;通配符从不用作泛型方法调用、泛型类实例创建或超类型的类型参数。7.1 上限有界的通配符使用上限通配符来放宽对变量的限制。声明上限通配符的语法:<? extends 上限>举个例子:public static double sum...原创 2018-08-17 00:56:34 · 976 阅读 · 0 评论 -
Java 之路 (十五) -- 泛型上(泛型类、泛型方法、有界类型参数、泛型与继承、类型推断)
Thinking in Java 中关于泛型的讲解篇幅实在过长,前后尝试阅读这一章,但总是觉得找不到要点,很迷。于是放弃 Thinking in Java 泛型一章的阅读,转而官方教程,本章可以算作官方教程的中文版。 放上官方教程地址: The Java™ Tutorials - Generics1.为什么使用泛型简单来说,泛型使类型在定义类、接口和方法时成为参...原创 2018-08-17 00:52:44 · 6597 阅读 · 5 评论 -
Java 之路 (十四) -- 类型信息(RTTI、Class 对象的加载、Class 引用的获取与泛化、instanceof 关键字、反射基础与简单使用示例)
学习内容:传统的 RTTI Class 对象的加载获取 Class 对象引用的方式ClassforName类字面常量Class 引用的泛化instanceof 关键字反射 相关类简单使用示例前言运行时类型信息使得我们可以在程序运行时发现和使用类型信息,Java 中运行时识别对象和类的信息有如下两种方式: 传统的 RTTI :假定我们在编译时已经知道所有...原创 2018-08-15 17:52:23 · 1267 阅读 · 0 评论 -
Java 之路 (十三) -- 字符串(String、正则表达式)
个人吐槽:对于这章,第一遍读和重读之后果然看法不同:第一次读时觉得,文章用了大篇幅来介绍 API,这样我可以比较容易理解这个方法是干嘛的,以此理解这个类是干嘛的;但是重读之后觉得,文章居然用了这么大篇幅在讲 API(尤其是正则表达式),如果我需要知道具体某个方法怎么用,直接去官方文档查多好啊,这种情况下,我更希望得到某个方法可能出现的坑,而不只是方法的介绍(毕竟,这往往需要踩过坑之后总结的,...原创 2018-08-14 15:58:32 · 525 阅读 · 0 评论 -
Java 之路 (十二) -- 异常(基本常识、try-catch-finally、throw、throws、使用指南)
Java 的基本理念是 “结构不佳的代码不能运行”错误回复在我们编写的每个程序中都是基本的元素Java 的主要目标之一是创建供他人使用的程序构件Java 的异常处理的目的在于通过使用少于目前数量的代码来简化大型、可靠的程序的生成,并且通过这种方式可以使你更加自信:你的应用中没有未处理的错误1. 初识异常正式介绍异常之前,先来看一个例子:public static vo...原创 2018-08-13 18:43:37 · 414 阅读 · 0 评论 -
Java 之路 (十一) -- 持有对象(Collection、List、Set、Queue、Map、Iterator、foreach)
本章将简单介绍一下常用的集合类的特点,同时并不会深入源码分析原理,本文目的仅仅在于对 Java 集合类有一个整体认识关于 API,本文不涉及过多,建议直接查看 Java 官方文档 https://docs.oracle.com/javase/9/docs/api/overview-summary.html1. 容器概述1.1 引入原因Java 中,数组用来保存...原创 2018-08-11 16:45:48 · 490 阅读 · 1 评论 -
Java 之路 (十) -- 内部类(概念、分类、特性、意义、"多重继承"、继承)
1. 内部类基础1.1 什么是内部类内部类的定义如下:可以将一个类的定义放在另一个类的定义内部,这就是内部类更具体一点,对于编程思想而言:内部类允许将逻辑相关的类组织在一起,并控制位于内部的类的可视性。内部类就像是一种代码隐藏机制:将类置于其他类的内部,它了解外围类,能与之通信1.2 内部类的分类内部类分为以下四类:成员内部类:最最普通的内部类,...原创 2018-08-11 10:32:52 · 380 阅读 · 0 评论 -
Java 之路 (九) -- 接口(抽象类方法、接口、多重继承、接口与解耦等)
我们前面学过通过“隐藏实现”可以将接口与实现分离,然而它仅仅作为基础,而本章的接口以及下一章的内部类 为我们提供了一种将接口和实现分离的更加结构化的方法。话不多说,进入正题。1. 抽象类和抽象方法 抽象类是普通的类与接口之间的一种中庸之道。1.1 什么是抽象类/方法抽象方法定义:指的是一些只有方法声明,而没有具体方法体的方法。声明语法:通过 abstr...原创 2018-08-09 18:48:32 · 706 阅读 · 0 评论 -
Java 之路 (八) -- 多态(向上转型、多态、绑定、构造器与多态、再再谈初始化和类的加载、协变返回类型、向下转型)
多态 是继 数据抽象 和 继承 之后的第三种基本特征。 多态也称作动态绑定、后期绑定或运行时绑定。 多态的一些具象表现。 允许不同类的对象对同一消息做出响应 同一个行为具有多个不同表现形式或形态的能力 只有在运行时才会知道引用变量所指向的具体实例对象 封装:通过合并特征和行为创建新的数据类型。 实现隐藏:通过将细节私有化,把接口和实现分离开来 多态...原创 2018-08-09 00:12:01 · 427 阅读 · 0 评论 -
Java 之路 (七) -- 复用类(组合、继承、代理、向上转型、final、再谈初始化和类的加载、方法覆盖)
学习内容两种代码复用机制 - 组合 & 继承 以及中庸之道 - 代理组合 和 继承 如何选择使用如何结合使用向上转型final 关键字1. 组合1.1 组合的概念 在新的类中产生现有类的对象,由于新的类是由现有类的对象所组成,所以这种方法成为组合。1.1.1 组合的写法及样例只需要在当前类中声明另一个类的对象作为其成员变量即可,...原创 2018-08-08 14:39:24 · 425 阅读 · 0 评论 -
Java 之路 (六) -- 访问权限控制(Package、Public、protected、friendly、private)
这一章内容比较少,也比较基础。不多废话,下面开始这一章的学习吧。学习内容包 package访问权限 public、protected、默认、private1. Package(1) 原因:为了更好的组织类,Java 提供了包机制,用来区别类名的命名空间。(2) 包的作用:利用操作系统的层次化的文件结构,将特定包的 .class 文件都置于一个目录下。...原创 2018-08-07 19:23:09 · 1987 阅读 · 0 评论 -
Java 之路 (五) -- 初始化和清理(构造器与初始化、方法重载、this、垃圾回收器、枚举类型)
学习内容:构造器方法重载this 关键字垃圾回收器的清理初始化问题枚举类型这一章内容有一点点多,需要注意的地方也很多。下面就开始我的表演了。1. 构造器(1) 概念:一个创建对象时被自动调用的特殊方法。(2) 作用:通过构造器,创建对象,并确保对象得到初始化。(3) 命名:构造器的名称必须与类名相同。(4) 特殊:构造...原创 2018-08-07 15:31:35 · 487 阅读 · 0 评论 -
Java 之路 (四) -- 控制执行流程
学习内容流程控制语句关键字:if-else、while、do-while、for、return、break、switchJava 使用了 C 中的全部流程控制语句,这一章也属于比较基础的,所以也是基础点到即止,坑点重点强调。1. 条件的判别这部分为这一章的大前提,需要清楚掌握,否则会掉进坑里。(1) 所有条件语句通过条件表达式的真或假来决定执行的路径,我们上一章讲...原创 2018-08-06 23:52:59 · 244 阅读 · 0 评论 -
Java 之路 (三) -- 操作符
发个牢骚,最近看 《Thinking in Java》,不知道是不是我的错觉,总觉得里面写的知识虽然很循序渐进,但是总是很散乱,对每个知识点没有总结性质的叙述。大概这就是我太菜了吧。 另外,我总是在途中下意识以为,我写这篇文章是给彻头彻尾的小白看的。但是其实不是,我只是记录书中的知识点,学习之余复习罢了。告诫自己,我的初衷是什么。学习内容:操作符的使用 及一些 易错点 (这里...原创 2018-08-06 21:40:53 · 288 阅读 · 0 评论 -
Java 之路 (二) -- 一切都是对象
本章学习内容Java 程序的基本组成部分核心:理解 Java 中(几乎)一切都是对象。Java 是 混合型语言1. 引用操纵对象Java 中通过操纵对象的 “引用” 来操纵内存中的元素。可以理解为通过遥控器(引用)操纵电视(对象),只要握住遥控器,就能保持和电视的连接。同时通过操控遥控器(引用)来简介操控电视(引用)。另外,即使没有电视,遥控器也可单独存在,也就是说...原创 2018-08-05 14:56:56 · 400 阅读 · 0 评论 -
Java 之路 (一) -- 对象导论
写在开篇作为计划中的 java 学习系列的第一篇,说一点废话。最开始学习 java 还是在大二下学期学校开的课,然而在那之后并未深入学习,相当多的知识要么遗忘掉了,要么就还是属于一知半解的程度。而自从今年接触 Android 以来,越发的感受到 java 基础的重要性,不只是 API 的熟练程度,最重要的是一些思想总是理解不到位。于是乎,趁现在大四前(秋招前)的最后一个暑假,重新学一下...原创 2018-08-05 09:58:52 · 315 阅读 · 0 评论