
JAVA学习
文章平均质量分 64
工作学习java记录
蜗牛+火箭
坚持积累
展开
-
JAVA-1.反射-基础
JAVA-反射1.一个需求引出反射1.请看下面的问题2.Java Reflection介绍1.一个需求引出反射1.请看下面的问题根据配置文件re.properties指定信息,创建对象并调用方法;classfullpath=com.hspedu.Catmethod=hi这样的需求在学习框架时特别多,即通过外部文件配置,在不修改源码情况下,来控制程序,也符合设计模式的OCP原则(开闭原则:不修改源码,扩容功能); public static void main(String[]翻译 2021-06-22 10:54:45 · 90 阅读 · 0 评论 -
JAVA-2.反射-Class类
Class类1.基本介绍2.应用实例1.基本介绍Class也是类,因此也继承Object类;Classl类对象不是new出来的,而是系统创建的;对应某个类的Class类对象,在内存中只有一份,因此类只加载一次;每个类的实例都会记得自己是由哪个Class实例所生成;通过Class对象可以完整地得到一个类的完整结构,通过一系列API;Class对象是存放在堆的;类的字节码二进制数据,是放在方法区的,有的地方称为类的元数据(包括方法代码,变量名,方法名,访问权限等等)。2.应用实例..翻译 2021-06-22 10:55:06 · 289 阅读 · 0 评论 -
JAVA-3.反射-实例
反射实例1.通过反射创建对象1.通过反射爆破创建对象2.通过反射访问类中的成员(属性)3.通过反射访问类中的方法1.通过反射创建对象方式一:调用类中的public修饰的无参构造器;方式二:调用类中的指定构造器;Class类相关方法1)newInstance:调用类中的无参构造器,获取对应类的对象;2)getConstructor(Class…class):根据参数列表,获取对应的构造器对象;3)getDecalaredConstructor(Class…class):根据参数列表,获取对应的翻译 2021-06-22 10:55:29 · 99 阅读 · 0 评论 -
IO流-1.文件基础
文件基础1.什么是文件2.文件流概念3.常用的文件操作1.创建文件对象相关构造器和方法1.什么是文件文件是保存数据的地方,比如大家经常使用的word文档、txt文件、excel文件等等都是文件。它即可以保存一张图片,也可以保存视频、声音···2.文件流概念文件在程序中是以流的形式来操作的流:数据在数据源(文件)和程序(内存)之间经历的路径;输入流:数据从数据源(文件)到程序(内存)的路径;输出流:数据从程序(内存)到数据源(文件)的路径。3.常用的文件操作1.创建文件对象相关构造器和方法转载 2021-06-01 16:24:54 · 69 阅读 · 0 评论 -
IO流-2.IO流原理及流的分类
IO流原理1.Java IO流原理2.流的分类1.Java IO流原理I/O是Input/Output的缩写,I/O技术是非常实用的技术,用于处理数据传输。如读、写文件,网络通讯等;Java程序中,对应数据的输入、输出操作以“流(stream)”的方式进行;java.io包下提供了各种“流”类和接口,用于获取不同种类的数据,并通过方法输入或输出数据。输入input:读取外部数据(磁盘、光盘等存储设备的数据)到程序(内存)中;输出output:将程序(内存)数据输出到磁盘、光盘等存储设备中。转载 2021-06-01 17:16:09 · 89 阅读 · 0 评论 -
IO流-3.InputStream字节输入流
InputStream字节输入流1.InputStream字节输入流1.InputStream关系图2.FileInputStream 读取文件1.InputStream字节输入流InputStream抽象类是所有类字节输入流的超类;FileInputStream:文件输入流BufferedInputStream:缓冲字节输入流ObjectInputStream:对象字节输入流1.InputStream关系图2.FileInputStream 读取文件单个字节读取,效率比较低,如果读取转载 2021-06-07 17:55:23 · 155 阅读 · 0 评论 -
IO流-4.OutputStream字节输出流
OutputStream字节输出流1.OutputStream字节输出流1.FileOutputStream输出1. 写一个字节2.写入字节数组1.OutputStream字节输出流1.FileOutputStream输出1. 写一个字节@Test public void writeFile(){ FileOutputStream fileOutputStream = null; String filePath = "d:\\writeFile1.txt"转载 2021-06-07 17:55:47 · 73 阅读 · 0 评论 -
IO流-5.字符流
字符流1.字符输入流1.FileReader1.相关方法2.相关API1.字符输入流1.FileReader1.相关方法new FileReader(File/String);read 每次读取单个字符,返回该字符,如果到文件末尾返回-1;read(char []) 批量读取多个字符到数组,返回读取到的字符数,如果到文件末尾返回-1;2.相关APInew String(char[]) 将char[]转换成String;new String(char[],off,len) 将char转载 2021-06-07 17:56:03 · 77 阅读 · 0 评论 -
IO流-6.节点流和处理流
节点流和处理流1.基本介绍1.基本介绍节点流可以从一个特定的数据源读写数据,如FileReader,FileWriter(文件、数组、管道和字符串);处理流也叫包装流,是“连接”在已存在的流(节点流或处理流)之上,为程序提供更为强大的读写功能,如BufferedReader,BufferedWriter(比如:BufferedReader类中,有属性Reader,即可以封装一个节点流,该节点流可以是任意的,只要是Reader子类。)。...转载 2021-06-07 17:56:14 · 138 阅读 · 0 评论 -
IO流-7.对象处理流
对象处理流1.对象处理流ObjectInputStream和ObjectOutputStream1.序列化和反序列化2.基本介绍2.案例1.需求2.代码1.对象处理流ObjectInputStream和ObjectOutputStream1.序列化和反序列化序列化就是在保存数据时,保存数据的值和数据类型;反序列化就是在恢复数据时,恢复数据的值和数据类型;需要让某个对象支持需序列化机制,则必须让其类是可序列化的,为了让某个类是可序列化的,该类必须实现如下两个接口之一:1)Serializable转载 2021-06-07 17:56:31 · 99 阅读 · 0 评论 -
IO流-8.System.in和System.out
标准输入输出流1.介绍1.System.in1.案例2.System.out1.介绍类型默认设备System.in 标准输入InputStream键盘System.out标准输出PrintStream显示器1.System.inSystem.in 编译类型是 InputStreamSystem.in 运行类型是 BufferedInputStream表示标准输入 键盘1.案例 public static void main(String[] ar转载 2021-06-07 17:56:42 · 223 阅读 · 0 评论 -
IO流-9.转换流InputStreamReader和OutputStreamWriter
转换流1.介绍2.乱码案例2.转换流1.代码案例1.输入2.输出1.介绍有时候,我们需要把字节流转成字符流,就需要用到转换流。2.乱码案例这里读取的文件编码不是utf-8public static void main(String[] args) { //首先读取文件 //1.首先创建字符流输入 //2.使用处理流 //3.默认情况下,读取文件是按照UTF-8读取编码 BufferedReader bufferedRe转载 2021-06-07 17:56:53 · 77 阅读 · 0 评论 -
1.集合-集合体系图
集合体系图1.Collection常用体系图2.Map常用体系图说明:集合主要是分两组(单列集合,双列集合);Collection接口有两个重要的子接口List和Set,他们的实现子类都是单列集合;Map接口的实现子类是双列集合存放的是K-V结构;1.Collection常用体系图2.Map常用体系图...翻译 2021-05-08 10:18:04 · 261 阅读 · 0 评论 -
2.集合-Collection集合
Collection集合1.Collection接口实现类的特点2.Collection接口常用方法1.ArrayList常用方法2.Iterator遍历元素3.Iterator迭代器执行原理4.for循环增强5.List接口和常用方法6.List三种遍历方式7.ArrayList底层结构和源码分析1.ArrayList源码分析1.Collection接口实现类的特点Collection实现子类可以存放多个元素,每个元素可以是Object;有些Collection的实现类,有些是有序的(List),翻译 2021-05-19 16:17:22 · 89 阅读 · 0 评论 -
3.集合-Map
1.Map接口实现类的特点注意:这里讲的是JDK8的Map接口特点Map与Collection并列存在,用于保存具有映射关系的数据key-value;Map中的key和value可以是任何引用类型的数据,会封装到HashMap$Node对象中;Map中的key不允许重复;Map中的value可以重复;Map的key可以为null,value也可以为null,注意key为null只能有一个,value为null,可以多个;常用String类作为Map的key;key和value之间存在单向一翻译 2021-05-24 16:07:52 · 89 阅读 · 0 评论 -
4.泛型-泛型
1.泛型介绍泛型又称参数化类型,是JDK5.0出现的新特性,解决数据类型的安全性问题;在类声明或实例化时只要指定好需要的具体的类型即可;Java泛型可以保证如果程序在编译时没有发出警告,运行时就不会产生ClassCastException异常。同时代码更加简洁和健壮;泛型的作用是:可以在类声明时通过一个标识表示类中某个属性的类型,或者是某个方法的返回值的类型,或者是参数类型。2.泛型的语法1.泛型的声明interface 接口{} 和 class 类<K,V>{}说明:其翻译 2021-05-25 10:45:20 · 82 阅读 · 0 评论 -
5.泛型-自定义泛型
自定义泛型自定义泛型类1.基本语法2.注意细节自定义泛型接口1.基本语法2.注意细节自定义泛型方法1.基本语法2.注意细节自定义泛型类1.基本语法class 类名<T,R....>{//...表示可以有多个泛型 成员}2.注意细节普通成员可以使用泛型(属性、方法);使用泛型的数组,不能初始化;//不能new,因为数组在new的时候,不能确定泛型的类型,所以无法在内存开辟空间;静态方法中不能使用类的泛型;泛型类的类型,是在创建对象时确定的(因为创建对象时,需要指定确定类型翻译 2021-05-25 15:16:22 · 128 阅读 · 0 评论 -
6.泛型-泛型的继承和通配符
泛型的继承和通配符1.泛型的继承和通配符说明1.泛型的继承和通配符说明泛型不具备继承性//这是错的List<Object> list = new ArrayList<String>();<?>:支持任意泛型类型;<? extends A>:支持A类以及A类的子类,规定了泛型的上限;<? super A>:支持A类以及A类的父类,不限于直接父类,规定了泛型的下限;...翻译 2021-05-25 15:36:08 · 138 阅读 · 0 评论 -
8.高级-内部类
内部类介绍1.基本语法2.内部类的分类1.定义在外部类局部位置上(比如方法内)2.定义在外部类的成员位置上3.局部内部类4.匿名局部内部类1.匿名内部类的使用2.匿名内部类的使用场景5.成员内部类6.静态内部类介绍一个类的内部又完整的嵌套了另一个类结构,被嵌套的类称为内部类,嵌套其他类的类称为外部类。内部类最大的特点是可以直接访问私有属性,并且可以体现类与类之间的包含关系。注意:内部类是学习的难点,同时也是重点,后面看底层源码时,有大量的内部类。1.基本语法class Outer{//外部类翻译 2021-04-28 18:16:08 · 87 阅读 · 0 评论