Java
Java
明月映雪
这个作者很懒,什么都没留下…
展开
-
Java Comparable和Comparator比较
Comparatorpublic static void main(String[] args) { TreeSet<User> tSet = new TreeSet<User>(); for (int i = 1; i <= 10; i++) { // 如果泛型User类没有实现Comparable接口,add方法就报错 tSet.add(new User("TreeSet" + i, "TreeSet" + (50 - i))); } // C原创 2021-11-14 10:43:14 · 132 阅读 · 0 评论 -
Java 常用概念总结
将一些java中的概念进行总结:匿名对象:没有引用类型变量指向的对象就称作为匿名对象。封装:封装的步骤:1. 使用private修饰需要被封装的属性.2. 根据需要提供get或者set方法设置以及获取属性。封装的好处:1. 提高了数据的安全性。2. 操作简单。3. 隐藏了实现。构造代码块构造代码块的格式:{ 构造代码块}注意: 构造代码块的大括号必须位于成员位置上。构造代码块要注意的事项:1. java编译器编译一个java源文件的时候,会把成员变量的声明语句提前至一个原创 2020-06-03 19:57:13 · 252 阅读 · 0 评论 -
Java 对象的输入输出流
对象的输入输出流 : 对象的输入输出流 主要的作用是用于写对象的信息与读取对象的信息。对象信息一旦写到文件上那么对象的信息就可以做到持久化了对象的输出流: ObjectOutputStream .对象的输入流: ObjectInputStream对象输入输出流要注意的细节:如果对象需要被写出到文件上,那么对象所属的类必须要实现Serializable接口。 Serializable接口...原创 2020-03-29 16:44:56 · 426 阅读 · 0 评论 -
Java 缓冲输入字符流
输入字符流:-------| Reader 所有输入字符流的基类。 抽象类----------| FileReader 读取文件字符串的输入字符流。----------| BufferedReader 缓冲输入字符流 。 缓冲 输入字符流出现的目的是为了提高读取文件 的效率和拓展了FileReader的功能。 其实该类内部也是维护了一个字符数组。记住:缓冲流都不具备读写文件的能力。...原创 2020-03-29 08:52:04 · 159 阅读 · 0 评论 -
Java 输出字符流
输出字符流:------| Writer 输出字符流的基类。 抽象类-----------| FileWriter 向文件数据数据的输出字符流FileWriter的使用步骤:找到目标文件。建立数据输出通道写出数据。关闭资源FileWriter要注意的事项:使用FileWriter写数据的时候,FileWriter内部是维护了一个1024个字符数组的,写数据的时候会先写入到...原创 2020-03-29 07:18:12 · 210 阅读 · 0 评论 -
Java 输入字符流
常见的码表如下:ASCII: 美国标准信息交换码。用一个字节的7位可以表示。ISO8859-1: 拉丁码表。欧洲码表,用一个字节的8位表示。又称Latin-1(拉丁编码)或“西欧语言”。ASCII码是包含的仅仅是英文字母,并且没有完全占满256个编码位置,所以它以ASCII为基础,在空置的0xA0-0xFF的范围内,加入192个字母及符号, 藉以供使用变音符号的拉丁字母语言使用。从而支持德文...原创 2020-03-28 21:22:58 · 289 阅读 · 0 评论 -
Java 输出字节流
输出字节流:--------| OutputStream 是所有输出字节流 的父类。 抽象类-----------| FileOutStream 向文件输出数据的输出字节流。FileOutputStream如何使用呢?找到目标文件建立数据的输出通道。把数据转换成字节数组写出。关闭资源FileOutputStream要注意的细节:使用FileOutputStream 的时候...原创 2020-03-28 16:24:38 · 313 阅读 · 0 评论 -
Java 输入字节流总结
File类: 用于描述一个文件或者文件夹的通过File对象我们可以读取文件或者文件夹的属性数据,如果我们需要读取文件的内容数据,那么我们需要使用IO流技术。IO流(Input Output)IO流解决问题: 解决设备与设备之间的数据传输问题。 内存—>硬盘 硬盘—>内存IO流技术:IO流分类:如果是按照数据的流向划分:输入流输出流如果按照处理的单位划分:字节流...原创 2020-03-28 13:11:15 · 146 阅读 · 0 评论 -
Java File类总结
IO流(Input Output) :IO技术主要的作用是解决设备与设备之间 的数据传输问题。比如: 硬盘—>内存 内存的数据---->硬盘上 把键盘的数据------->内存中IO技术的应用场景:导出报表 , 下载 、 解释xml文件 …数据保存到硬盘上,该数据就可以做到永久性的保存。 数据一般是以文件的形式保存到硬盘上。File类可以描述一...原创 2020-03-28 10:16:54 · 151 阅读 · 0 评论 -
Java String类的相关使用
String 字符串类:笔试题目:new String(“abc”)创建了几个对象?两个对象, 一个对象是 位于字符串常量池中,一个对象是位于堆内存中。String 的构造方法:String() 创建一个空内容 的字符串对象。String(byte[] bytes) 使用一个字节数组构建一个字符串对象String(byte[] bytes, int offset, int leng...原创 2020-03-27 20:16:50 · 224 阅读 · 0 评论 -
Java 权限修饰符
权限修饰符: 权限修饰符就是控制被修饰的成员的范围可见性。 public(公共) protected(受保护) default(缺省) private (大到小)同一个类 true true true true同一个包 true ...原创 2020-03-27 20:04:05 · 115 阅读 · 0 评论 -
Java 包的相关总结
导包语句的格式: import 包名.类名; (导入xxx包中某个类)导包语句要注意的细节: 1. 一个java文件中可以出现多句导包语句。 2. ""是 导包语句的通配符。可以匹配任何 的类名。 3. import aa.; 是不会作用于aa包下面的子包的。推荐使用:import 包名.类...原创 2020-03-27 19:58:26 · 146 阅读 · 0 评论 -
Java 匿名内部类和匿名对象
匿名内部类:没有类名的类就称作为匿名内部类。匿名内部类的好处:简化书写。匿名内部类的使用前提:必须存在继承或者实现关系才能使用。匿名内部类一般是用于实参。abstract class Animal02{ public abstract Animal02 run(); public abstract void sleep(); protected abstract void b...原创 2020-03-27 19:41:24 · 298 阅读 · 0 评论 -
Java 内部类总结
内部类:一个类定义在另外一个类的内部,那么该类就称作为内部类。内部类的class文件名: 外部类$内部类. 好处:便于区分该class文件是属于哪个外部类的。内部类的类别:成员内部类:成员内部类的访问方式:方式一:在外部类提供一个方法创建内部类的对象进行访问。方式2二:在其他类直接创建内部类的对象。格式:外部类.内部类 变量名 = new 外部类().new 内部类();注意:...原创 2020-03-27 19:38:47 · 83 阅读 · 0 评论 -
Java 多态总结
接口与类之间 的关系: 实现关系。注意: 一个类可以实现多个接口。接口与接口之间的关系: 继续关系。注意: 一个接口是可以继承多个接口的。多态:父类的引用类型变量指向了子类的对象,或者是接口的引用类型变量指向了接口实现类的对象。多态要注意细节:多态情况下,如果子父类存在同名的成员变量时,访问的是父类的成员变量.多态情况下,如果子父类存在同名的非静态函数时,访问的是子类 的成员函数。...原创 2020-03-27 19:30:49 · 234 阅读 · 0 评论 -
Java 成员变量和局部变量总结
成员变量与局部变量 的区别:自定义的位置区别:成员变量是定义在方法之外,类之内的变量。局部变量是声明在方法之内的变量。作用上的区别:成员变量的作用描述一类事物的属性。局部变量的作用是提供一个变量给方法内部使用的。生命周期的区别;成员变量随着对象的创建而存在,随着对象的消失而消失。局部变量是调用到了对应的方法执行 到了创建该变量的语句时存在,一旦出了自己的作用域马上从内存中消失。...原创 2020-03-27 19:27:39 · 118 阅读 · 0 评论 -
Java 接口
接口的定义格式:interface 接口名{ }接口要注意的事项 :接口是一个特殊的类。接口的成员变量默认的修饰符为: public static final 。那么也就是说接口中的成员变量都是常量。接口中 的方法都是抽象的方法,默认的修饰符为: public abstract。接口不能创建对象。接口是没有构造方法的。接口是给类去实现使用的,非抽象类实现一个接口的时候,必须要把...原创 2020-03-27 19:24:31 · 87 阅读 · 0 评论 -
Java 抽象类
抽象类的应用场景:我们在描述一类事物的时候,发现该种事物确实存在着某种行为,但是这种行为目前是不具体的,那么我们可以抽取这种行为 的声明,但是不去实现该种行为,这时候这种行为我们称作为抽象的行为,我们就需要使用抽象类。抽象类的好处: 强制要求子类一定要实现指定的方法。抽象类要注意的细节:如果一个函数没有方法体,那么该函数必须要使用abstract修饰,把该函数修饰成抽象 的函数。。...原创 2020-03-27 19:22:12 · 131 阅读 · 0 评论 -
Java final的使用
final(最终、修饰符)final关键字的用法:final关键字修饰一个基本类型的变量时,该变量不能重新赋值,第一次的值为最终的。fianl关键字修饰一个引用类型变量时,该变量不能重新指向新的对象。final关键字修饰一个函数的时候,该函数不能被重写。final关键字修饰一个类的时候,该类不能被继承。常量 的修饰符一般为: public static finalclass Ci...原创 2020-03-27 19:13:26 · 123 阅读 · 0 评论 -
Java 重写和重载总结
目前的问题:父类的功能无法满足子类的需求。方法重写的前提: 必须要存在继承的关系。方法的重写: 子父类出了同名的函数,这个我们就称作为方法的重写。什么是时候要使用方法的重写:父类的功能无法满足子类的需求时。方法重写要注意的事项:方法重写时, 方法名与形参列表必须一致。方法重写时,子类的权限修饰符必须要大于或者等于父类的权限修饰符。方法重写时,子类的返回值类型必须要小于或者 等于父类...原创 2020-03-27 19:02:12 · 134 阅读 · 0 评论 -
Java super()总结
super关键字代表了父类空间的引用。super关键字的 作用:子父类存在着同名的成员时,在子类中默认是访问子类的成员,可以通过super关键字指定访问父类的成员。创建子类对象时,默认会先调用父类无参的构造方法,可以通过super关键字指定调用父类的构造方法。super关键字调用父类构造方法要注意的事项:如果在子类的构造方法上没有指定调用父类的构造方法,那么java编译器会在子类的...原创 2020-03-27 18:58:37 · 137 阅读 · 0 评论 -
Java 继承总结
继承:继承是通过关键字extends体现的。继承的格式: class 类名1 extends 类名2{ //代码 }继承要注意的事项: 1. 千万不要为了减少重复代码而去继承,只有真正存在着继承关系的时候才去继承。 2. 父类私有的成员不能被继承。 3. 父类的构造函数不能被继承。 4...原创 2020-03-27 18:54:18 · 127 阅读 · 0 评论 -
Java main()函数
main函数的详解:public : 公共的。 权限是最大,在任何情况下都可以访问。原因: 为了保证让jvm在任何情况下都可以访问到main方法。static: 静态。静态可以让jvm调用main函数的时候更加的方便。不需要通过对象调用。void: 没有返回值。 因为返回的数据是 给 jvm,而jvm使用这个数据是没有意义的。所以就不要了。main: 函数名。 注意: main并...原创 2020-03-27 18:34:08 · 167 阅读 · 0 评论 -
Java static总结
static(静态\修饰符)static修饰成员变量 :如果有数据需要被共享给所有对象使用时,那么就可以使用static修饰。静态成员变量的访问方式:方式一: 可以使用对象进行访问。格式: 对象.变量名。方式二: 可以使用类名进行访问。格式: 类名.变量名;注意:1. 非静态的成员变量只能使用对象进行访问,不能使用类名进行访问。2. 千万不要为了方便访问数据而使用static修饰...原创 2020-03-27 18:32:15 · 116 阅读 · 0 评论 -
Java this总结
存在同名的成员变量与局部变量时,在方法的内部访问的是局部变量(java 采取的是就近原则的机制访问的)。this关键字代表了所属函数的调用者对象。this关键字作用:如果存在同名成员变量与局部变量时,在方法内部默认是访问局部变量的数据,可以通过this关键字指定访问成员变量的数据。在一个构造函数中可以调用另外一个构造函数初始化对象。this关键字调用其他的构造函数要注意的事项:t...原创 2020-03-27 18:23:47 · 115 阅读 · 0 评论 -
Java 代码块总结
构造代码块:构造代码块的作用:给对象进行统一的初始化。构造函数的作用: 给对应的对象进行初始化。构造代码块的格式:{构造代码块}代码块的类别: 1. 构造代码块。 2. 局部代码块. 大括号位于方法之内。 作用:缩短局部 变量 的生命周期,节省一点点内存。 3. 静态代码块 static*/...原创 2020-03-27 18:10:17 · 88 阅读 · 0 评论 -
Java 构造函数总结
构造函数的作用: 给对应的对象进行初始化。构造函数的定义的格式:修饰符 函数名(形式参数){函数体…}构造函数要注意的细节:构造函数 是没有返回值类型的。构造函数的函数名必须要与类名一致。构造函数并不是由我们手动调用的,而是在创建对应的对象时,jvm就会主动调用到对应的构造函数。如果一个类没有显式的写上一个构造方法时,那么java编译器会为该类添加一个无参的构造函数的。如果...原创 2020-03-27 17:54:16 · 259 阅读 · 0 评论 -
Java 反编译常用指令
-version 版本信息,其实是当前javap所在jdk的版本信息,不是class在哪个jdk下生成的。-v -verbose 输出附加信息(包括行号、本地变量表,反汇编等详细信息)-l 输出行号和本地变量表-public 仅显示公共类和成员-p...原创 2020-03-27 17:44:40 · 499 阅读 · 0 评论 -
Java 集合总结(10)TreeMap
TreeMap也是基于红黑树(二叉树)数据结构实现 的, 特点:会对元素的键进行排序存储。注意事项:往TreeMap添加元素的时候,如果元素的键具备自然顺序,那么就会按照键的自然顺序特性进行排序存储。往TreeMap添加元素的时候,如果元素的键不具备自然顺序特性, 那么键所属的类必须要实现Comparable接口,把键的比较规则定义在CompareTo方法上。往TreeMap添加元素的...原创 2020-03-25 18:08:32 · 151 阅读 · 0 评论 -
Java 枚举类型总结
枚举:一些方法在运行时,它需要的数据不能是任意的,而必须是一定范围内的值,可以直接使用枚举予以解决。枚举类的定义格式: enum 类名{ //枚举值 }枚举要注意的细节: 1. 枚举类也是一个特殊的类。 2. 枚举值默认的修饰符是public static final。 3. 枚举值就是是枚举值所属的类的类型, 然后枚举值是指向了本类的对象的。...原创 2020-03-27 16:20:42 · 219 阅读 · 0 评论 -
Java 基本数据类型及其包装类型总结
基本数据类型 包装类型byte Byteshort Shortint Integerlong Longfloat Floatdouble Doubleboolean Booleanchar Ch...原创 2020-03-27 16:08:38 · 121 阅读 · 0 评论 -
Java 增强for循环总结
jdk1.5以后出现的新特性---->增强for循环增强for循环的作用: 简化迭代器的书写格式。(注意:增强for循环的底层还是使用了迭代器遍历。)增强for循环的适用范围: 如果是实现了Iterable接口的对象或者是数组对象都可以使用增强for循环。增强for循环的格式:for(数据类型 变量名 :遍历的目标){}增强for循环要注意的事项:增强for循环底层也是使...原创 2020-03-27 16:04:07 · 307 阅读 · 0 评论 -
Java 集合工具类Collections总结
集合工具类(Collections) Collection与Collections区别: Collection是单例集合的根接口 ,Collections是操作集合的一个工具类。 Collections工具类中的方法都是静态的。Collections常用方法:对list集合进行排序。 sort(list); //对list进行排序,其实使用的事list容器...原创 2020-03-27 15:43:34 · 245 阅读 · 0 评论 -
Java 正则表达式总结(2)
正则表达式对于字符串的操作:匹配: .matches("[1][3-578]\d{9}")替换: .replaceAll(reg,"****")切割: .str.split("(.)\1+")查找:字符串匹配示例:// 需求:编写一个正则表达式匹配手机号 第一位是1开头,第二位是:3,4,5,7,8,长度是11位 public static void matchesPho...原创 2020-03-27 15:04:14 · 143 阅读 · 0 评论 -
Java 正则表达式总结(1)
温习以前学习笔记,总结以前所学。正则表达式:用于操作字符串的规则,其使用了特殊的符号来表示。个人认为减少代码量。预定义字符类/* 预定义字符类 . 任何字符(与行结束符可能匹配也可能不匹配) \d 数字:[0-9] \D 非数字: [^0-9] \s 空白字符:[ \t\n\x0B\f\r] \S 非空白字符:[^\s] \w 单词字符:...原创 2020-03-27 14:57:53 · 116 阅读 · 0 评论 -
Java eclipse中常用的快捷键总结
快捷键的配置,常用快捷键:1.内容提示:Alt + /例如: System.out.println(); 语句 ,syso再按住alt 和/ 就会补全.忘记某个类如何书写,可以写出一部分,按住alt 和/ 就会有提示.2.快速修复:Ctrl + 1例如,程序有编译期异常,或者需要导包.使用该快捷键.会有相关提示.3.导包:Ctrl + shift + O如果需要导入的包比较多,...原创 2020-03-27 14:47:06 · 156 阅读 · 0 评论 -
Java 集合总结(9)HashMap
HashMap 底层也是基于哈希表实现的。HashMap的存储原理:往HashMap添加元素的时候,首先会调用键的hashCode方法得到元素 的哈希码值,然后经过运算就可以算出该元素在哈希表中的存储位置。情况1: 如果算出的位置目前没有任何元素存储,那么该元素可以直接添加到哈希表中。情况2:如果算出 的位置目前已经存在其他的元素,那么还会调用该元素的equals方法与这个位置上的元素进...原创 2020-03-25 18:04:19 · 224 阅读 · 1 评论 -
Java 集合总结(8)Map的迭代方法
迭代:keySet() 缺点:keySet方法只返回了所有键,没有值values() 使用values方法进行遍历 缺点:keySet方法只返回了所有值,没有键entrySet()首先创建Map实现类,并相应的添加元素 Map<String, String> map = new HashMap<String, String>(); ...原创 2020-03-25 17:50:43 · 390 阅读 · 0 评论 -
Java 集合总结(7)Map的基本使用
双列集合:-----| Map 如果是实现了Map接口的集合类,具备的特点: 存储的数据都是以键值对的形式存在的,键不可重复,值可以重复。----------| HashMap----------| TreeMap----------| HashtableMap接口的方法:添加:put(K key, V value)putAll(Map<? extends K,? exte...原创 2020-03-25 17:40:42 · 157 阅读 · 0 评论 -
Java 泛型总结
泛型优点:将运行时问题提到编译时避免了强制类型转换泛型在集合中的常见写法: ArrayList<String> list = new ArrayList<String>(); // true 推荐使用。 ArrayList<Object> list = new ArrayList<String>(); // fals...原创 2020-03-25 16:52:32 · 184 阅读 · 0 评论