
Java基础
Vinson武
Android开发程序猿
展开
-
java的IO流和文件读写
IO流IO流分类按数据流向分:输入流、输出流按数据类型分:字节流(x xInputStream 读,xxOutputStream写)、字符流(xxRead读,xxWrite写)如果数据所在的文件通过windows自带的记事本打开并能读懂里面的内容,就用字符流。其他用字节流。文件操作File类的概述和方法介绍File类的概述文件和目录路径名的抽象表示形式构造方法Fi...原创 2018-11-24 17:21:38 · 394 阅读 · 0 评论 -
java内部类和嵌套类(静态内部类)
java内部类和嵌套类(静态内部类)创建内部类内部类的创建和使用与普通类并没有什么不同,只是把一个类的定义置于外围类里面。如:public class Out{ class Inner{ } public Inner b(){ return new Inner(); }}典型的情况如上所示,在外部类提供一个方法,该方法返回一个指向...原创 2019-02-05 23:01:13 · 1439 阅读 · 0 评论 -
java基础归纳
数据类型基本类型byte/8char/16short/16int/32float/32long/64double/64boolean/~boolean 只有两个值:true、false,可以使用 1 bit 来存储,但是具体大小没有明确规定。JVM 会在编译时期将 boolean 类型的数据转换为 int,使用 1 来表示 true,0 表示 false。JVM 支持 bo...原创 2020-01-19 16:18:44 · 138 阅读 · 0 评论 -
Java容器
概况容器主要包括 Collection 和 Map 两种,Collection 存储着对象的集合,而 Map 存储着键值对(两个对象)的映射表。Collectionimage.pngSetTreeSet:基于红黑树实现,支持有序性操作,例如根据一个范围查找元素的操作。但是查找效率不如 HashSet,HashSet 查找的时间复杂度为 O(1),TreeSet 则为 O...原创 2020-01-19 16:22:11 · 154 阅读 · 0 评论 -
1.初始化与清理(Thinking in java学习一)
1. 用构造器来确保初始化创建对象时,如果该类具有可用的构造器,java就会在用户有能力操作对象之前自动调用相应的构造器,从而保证了初始化的进行。Java中“初始化”与“创建”捆绑在一起的两者不能分离。问题1:构造器是一类特殊的方法,它没有返回值。与返回值为空(void)的区别?对于空值返回,尽管方法本身没有返回什么,但是仍然可以选择让它返回别的东西,但是构造器则不会返回任何东西,你别无...原创 2020-04-16 13:51:38 · 181 阅读 · 0 评论 -
2.访问控制权限(Thinnking in java学习二)
包:库单元包内包含有一组类,它们在单一的名字空间之下被组织在了一起。注意:当编写一个Java源代码时,此文件通常被称为编译单元。每个编译单元都必须有个后缀名.java,而在编译单元内有个一public类,该类的名称必须与文件的名称相同。每个编译单元必须只有一个public类,否则编译器就不会接受。Java访问权限修饰词public、protected、private。若不提供任何修饰词,则...原创 2020-04-16 13:52:30 · 168 阅读 · 0 评论 -
3.复用类(Thinking in java学习三)
组合语法将对象引用置于新类中即可。编译器并不是简单地为每一个引用都创建默认对象,因为若真要那样做的话,就会在许多情况下增加不必要的负担。初始化引用,可以在以下位置:在定义对象的地方。在类的构造器中。就在正要使用这些对象之前,这种方式成为惰性初始化。使用实例初始化。继承语法继承是所有OOP语言和Java语言不可或缺的组成部分。继承的一般访问权限规则:将所有的数据成员都指定为p...原创 2020-04-16 13:53:07 · 132 阅读 · 0 评论 -
4.多态(Thinking in java学习四)
多态通过分离做什么和怎么做,从另一角度将接口和实现分离开来。多态不但能够改善代码的组织结构和可读性,还能够创建可扩展的程序。==多态存在的三个必要条件==:要有继承要有重写父类引用指向子类对象转机方法调用绑定绑定:将一个方法调用同(与)一个方法主体关联起来被称作绑定。前期绑定:若在程序执行前绑定,叫做前期绑定。后期绑定(动态绑定,运行时绑定):在运行时根据对象的类型进行绑...原创 2020-04-16 13:53:56 · 332 阅读 · 0 评论 -
5.接口(Thinking in java学习五)
接口和内部类为我们提供了一种将接口与实现分离的更加结构化的方法。抽象类和抽象方法(abstract)抽象基类,简称抽象类:通用接口建立起一种基本形式,以此表示所有导出类的共同部分。抽象方法:仅有声明而没有方法体。继承一个抽象类,就必须为基类中的所有抽象方法提供方法定义。注意:如果一个类包含一个或者多个抽象方法,该类必须被限定为抽象的。抽象类是很有用的重构工具,它们使得我们可以很...原创 2020-04-16 13:54:58 · 152 阅读 · 0 评论 -
6.内部类(Thinking in java学习六)
内部类是一种非常有用的特性,它允许你把一些逻辑相关的类组织在一起,并控制位于内部的类的可视性。内部类定义:将一个类的定义放在另一个类的定义内部。创建内部类想从外部类的非静态方法之外的任意位置创建某个内部类对象,则具体指明这个对象的类型:OuterClass.InnerClass链接到外部类当生成内部类的对象时,此对象与制造它的外围对象之间就有了一种联系,所以它能访问其外围对象的所有成员,...原创 2020-04-16 13:55:37 · 140 阅读 · 0 评论 -
7.异常处理(Thinking in java学习七)
编译器并不能找出所有的错误,那么剩下的问题必须在运行期解决了。Java使用异常来提供一致的错误报告模型,使得构件能够与客户端代码可靠地沟通问题。概念使用异常的好处:往往能够降低处理代码的复杂度;异常机制使代码的阅读、编写和调试工作更加井井有条。基本异常异常情形是指阻止当前方法或作用域继续执行的问题。普通问题是指在当前环境下能得到足够的信息,总能处理这个错误。异常参数...原创 2020-04-16 13:59:39 · 189 阅读 · 0 评论 -
8.类型信息和反射(Thinking in java学习八)
运行时类型信息运行时类信息使得你可以在程序运行时发现和使用类信息。在运行时识别对象和类的信息的方式:传统的RTTI:它假定我们在编译时已经知道了所有的类型;反射机制,它允许我们在运行时发现和使用类的信息。为什么需要RTTI使用RTTI,可以查询某个对象引用所指向的对象的确切类型,然后选择或者剔除特例。Class对象Class对象就是用来创建类的所有常规对象的。Java使用C...原创 2020-04-16 14:00:16 · 169 阅读 · 0 评论 -
9.泛型(Thinking in java 学习九)
多态算是一种泛化机制,但是拘泥于单继承体系,也会使程序受限太多。JavaSE5中提出了泛型的概念。泛型概念:泛型实现了参数化类型的概念,使代码可以应用于多种类型。简单泛型(泛型类)为了创造容器类,是促成了泛型出现的主要原因。泛型的主要目的之一是用来指定容器要持有什么类型的对象,而且由编译器来保证类的正确性。public class Holder<T>{ private ...原创 2020-04-16 14:00:50 · 184 阅读 · 0 评论 -
10.注解(Thinking in java学习十)
基本概念定义:注解(也称为元数据)为我们在代码中添加信息提供了一种形式化的方法,使我们可以在稍后某个时刻非常方便地使用这些数据。注解在一定程度上是在把元数据和元代码文件结合在一起。通过使用注解,我们可以把这些元数据保存在Java源代码中,并利用annotation API为自己的注解构造处理工具。Java内置了三种定义在java.lang中的注解@Override,覆盖超类@Dep...原创 2020-04-16 14:03:50 · 215 阅读 · 0 评论 -
11.并发(Thinking in java学习11)
多线程编程从根本上来看,所谓的多线程编程,不过是JVM或者说当前的计算机体系结构无法处理好多线程下资源竞争的情况而人为加上的一些处理方法。多线程编程是为了更好的使用CPU的性能,人为设计出来的补偿机制。并发三个特性:原子性:原子性表示一步操作执行过程中不允许其他操作的出现,直到该操作的完成。可见性:可见性是指当多个线程访问同一个变量时,一个线程修改了这个变量的值,其他线程能够立即看...原创 2020-04-16 14:06:46 · 192 阅读 · 0 评论 -
java中的队列
队列的定义和数据类型定义:队列,也叫先进先出表,是一种运算受限的线性表,其限制是仅允许在表的一端进行插入,而在表的另一端进行删除。插入的一端称为队尾,进行删除的一端称为队首。队列的基本操作:加入 offer()、获取队首元素peek()、删除后返回队首元素poll()java中队列相关的类和结构image.png没有实现阻塞接口的PriorityQueue 类实...原创 2020-04-16 14:08:13 · 152 阅读 · 0 评论