
Java学习
文章平均质量分 91
平什么阿
这个作者很懒,什么都没留下…
展开
-
Java进阶(二十四):Java8的其他新特性
文章目录1. Lambda表达式2. 函数式接口3. 方法引用4. 构造器引用与数组引用5. Stream API6. Optional类的使用1. Lambda表达式Lambda表达式使用前后的对比:举例一:@Testpublic void test1(){ Runnable r1 = new Runnable() { @Override public void run() { System.out.println("我爱北京原创 2022-04-08 22:35:37 · 194 阅读 · 0 评论 -
Java进阶(二十三):反射机制
文章目录1. 反射概述2. Class类的理解与获取Class的实例3. 了解ClassLoader4. 反射应用一:创建运行时类的对象5. 反射应用二:获取运行时类的完整结构6. 反射应用三:调用运行时类的指定结构7. 反射应用四:动态代理1. 反射概述本章的主要内容关于反射的理解Reflection(反射)是被视为动态语言的关键,反射机制允许程序在执行期借助于Reflection API取得任何类的内部信息,并能直接操作任意对象的内部属性及方法。框架 = 反射 + 注解 + 设计模原创 2022-04-07 15:25:37 · 334 阅读 · 0 评论 -
Java进阶(二十二):网络编程
文章目录1. InetAddress类的使用1.1 实现网络通信需要解决的两个问题1.2网络通信的两个要素:1.3 通信要素一:IP和端口号1.4 通信要素二:网络通信协议2. TCP网络编程3. UDP网络编程4. URL编程1. InetAddress类的使用1.1 实现网络通信需要解决的两个问题1.如何准确地定位网络上一台或多台主机;定位主机上的特定的应用2.找到主机后如何可靠高效地进行数据传输1.2网络通信的两个要素:对应问题一:IP和端口号对应问题二:提供网络通信协议:TCP/IP原创 2022-04-05 21:27:25 · 241 阅读 · 0 评论 -
Java进阶(二十一):IO流
文章目录1. File类的使用1.1File类的理解1.2File的实例化2. IO流概述2.1流的分类2.2 流的体系结构2.3 重点说明的几个流结构2.4 输入、输出的标准化过程3. 节点流(或文件流)3.1 FileReader/FileWriter的使用:3.2 FileInputStream / FileOutputStream的使用:4. 缓冲流的使用4.1 缓冲流涉及到的类:4.2 作用:4.3 典型代码5. 转换流的使用5.1 转换流涉及到的类:属于字符流5.2 作用:提供字节流与字符流之间原创 2022-04-01 00:02:29 · 824 阅读 · 0 评论 -
Java进阶(二十):泛型
文章目录1. 泛型的理解2. 泛型在集合中的使用3. 自定义泛型类、泛型接口、泛型方法4. 泛型在继承上的体现5. 通配符1. 泛型的理解泛型的概念所谓泛型,就是允许在定义类、接口时通过一个标识表示类中某个属性的类型或者是某个方法的返回值及参数类型。这个类型参数将在使用时(例如,继承或实现这个接口,用这个类型声明变量、创建对象时确定(即传入实际的类型参数,也称为类型实参)。泛型的引入背景集合容器类在设计阶段/声明阶段不能确定这个容器到底实际存的是什么类型的对象,所以在JDK1.5之前只原创 2022-03-29 17:18:01 · 358 阅读 · 0 评论 -
Java进阶(十九):Java集合
文章目录1. Collection接口1.1 单列集合框架结构1.2 Collection接口常用方法:1.3 Collection集合与数组间的转换1.4 使用Collection集合存储对象,要求对象所属的类满足:2. Iterator接口与foreach循环2.1 遍历Collection的两种方式:2.2 java.utils包下定义的迭代器接口:Iterator2.3 jdk5.0新特性--增强for循环:(foreach循环)3. Collection子接口:List接口3.1 常用方法:(记住原创 2022-03-28 22:11:14 · 625 阅读 · 0 评论 -
Java进阶(十八):枚举类和注解
文章目录1. 枚举类1.1 枚举类的说明:1.2 如何自定义枚举类?1.3 jdk 5.0 新增使用enum定义枚举类1.4 使用enum定义枚举类之后,枚举类常用方法:(继承于java.lang.Enum类)1.5 使用enum定义枚举类之后,如何让枚举类对象分别实现接口2. 注解(Annotation)2.1 注解的理解2.2 注解的使用示例2.3. 如何自定义注解:参照@SuppressWarnings定义2.4 元注解 :对现有的注解进行解释说明的注解。2.5 如何获取注解信息:通过发射来进行获取、原创 2022-03-22 16:55:39 · 691 阅读 · 0 评论 -
Java进阶(十七):Java常用类
文章目录1. String类1.1概述1.2 String的不可变性1.2.1 说明1.2.2 代码举例1.2.3 图示1.3 String实例化的不同方式1.3.1 方式说明1.3.2 代码举例1.3.3 面试题1.3.4 图示1.4 字符串拼接方式赋值的对比1.4.1 说明1.4.2 代码举例1.5 常用方法:1.6 String与其它结构的转换1.6.1 与基本数据类型、包装类之间的转换1.6.2 与字符数组之间的转换1.6.3 与字节数组之间的转换1.6.4 与StringBuffer、String原创 2022-03-20 21:32:53 · 1150 阅读 · 0 评论 -
Java进阶(十六):多线程
文章目录1. 程序、进程、线程的理解2. 并行与并发3. 创建多线程的两种方式(重点)3.1 方式一:继承Thread类的方式:3.2 方式二:实现Runnable接口的方式:3.3 两种方式的对比4. Thread类中的常用方法5. Thread的生命周期6. 线程的同步机制(重难点)6.1背景6.2 Java解决方案:同步机制6.2.1 方式一:同步代码块6.2.2 方式二:同步方法6.2.3 方式三:Lock锁 --- JDK5.0新增6.3 利弊6.4 面试举例7. 线程安全的单例模式(懒汉式)8原创 2022-03-17 23:56:30 · 593 阅读 · 0 评论 -
Java基础(十五):异常处理
文章目录1. 异常1.1 异常的体系结构1.2 异常分类:编译时异常和运行时异常1.3 常见异常及举例2. 异常的处理2.1 java异常处理的抓抛模型2.2异常处理方式一:try-catch-finally2.3 异常处理方式二:throws + 异常类型2.4 对比两种处理方式2.5 体会开发中应该如何选择两种处理方式?3. 手动抛出异常对象3.1 使用说明3.2 面试题3.3 典型例题4. 自定义异常类1. 异常1.1 异常的体系结构 java.lang.Throwable |----原创 2022-03-12 20:37:59 · 391 阅读 · 0 评论 -
Java基础(十四):关键字:abstract,模板方法
文章目录1. 关键字:abstract2. 设计模式:模板方法3. 关键字:interface4. 设计模式:代理模式5. 类的结构:内部类1. 关键字:abstract可以用来修饰:类、方法具体的:abstract修饰类:抽象类> 此类不能实例化> 抽象类中一定有构造器,便于子类实例化时调用(涉及:子类对象实例化的全过程)> 开发中,都会提供抽象类的子类,让子类对象实例化,完成相关的操作 —>抽象的使用前提:继承性abstract修饰方法:抽象方法> 抽原创 2022-03-11 21:16:00 · 591 阅读 · 0 评论 -
Java基础(十三):Object类、单元测试、包装类
文章目录1. 关键字:static2. main()的使用3. 类的结构:代码块4. 关键字:final5. 单例模式练习1. 关键字:static可以用来修饰的结构:主要用来修饰类的内部结构属性、方法、代码块、内部类static修饰属性:静态变量(或类变量)2.1 属性,是否使用static修饰,又分为:静态属性 vs 非静态属性(实例变量)实例变量:我们创建了类的多个对象,每个对象都独立的拥一套类中的非静态属性。当修改其中一个对象中的非静态属性时,不会导致其他对象中同样的属性值的修原创 2022-03-11 16:02:23 · 217 阅读 · 0 评论 -
Java基础(十二):Object类、单元测试、包装类
文章目录1. Object类2. 单元测试方法3. 包装类的使用4. 练习1. Object类java.lang.Object类的说明:1.Object类是所Java类的根父类2.如果在类的声明中未使用extends关键字指明其父类,则默认父类为java.lang.Object类3.Object类中的功能(属性、方法)就具通用性。属性:无方法:equals() / toString() / getClass() /hashCode() / clone() / finalize()wait原创 2022-01-28 01:46:52 · 234 阅读 · 0 评论 -
Java基础(十一):多态,super
文章目录1. 方法的重写2. 关键字:super3. 子类对象实例化过程3. 面向对象的特征三:多态性4. 练习1. 方法的重写什么是方法的重写(override 或 overwrite)?子类继承父类以后,可以对父类中同名同参数的方法,进行覆盖操作.应用:重写以后,当创建子类对象以后,通过子类对象调用子父类中的同名同参数的方法时,实际执行的是子类重写父类的方法。3.举例:class Circle{public double findArea(){}//求面积}class C原创 2022-01-26 17:52:58 · 184 阅读 · 0 评论 -
Java基础(十):继承、项目二
文章目录1. 继承2. 项目二1. 继承1.为什么要有类的继承性?(继承性的好处)① 减少了代码的冗余,提高了代码的复用性② 便于功能的扩展③ 为之后多态性的使用,提供了前提图示:2.继承性的格式:class A extends B{}A:子类、派生类、subclassB:父类、超类、基类、superclass3.子类继承父类以后有哪些不同?3.1体现:一旦子类A继承父类B以后,子类A中就获取了父类B中声明的所有的属性和方法。特别的,父类中声明为private的属性或方原创 2022-01-25 17:33:03 · 130 阅读 · 0 评论 -
Java基础(九):面向对象上:封装、构造器、this、package
文章目录1. 面向对象的特征一:封装与隐藏2. 构造器(或构造方法):Constructor3. 关键字:this4. 关键字 :package5. 练习1. 面向对象的特征一:封装与隐藏为什么要引入封装性?我们程序设计追求“高内聚,低耦合”。高内聚 :类的内部数据操作细节自己完成,不允许外部干涉;低耦合 :仅对外暴露少量的方法用于使用。隐藏对象内部的复杂性,只对外公开简单的接口。便于外界调用,从而提高系统的可扩展性、可维护性。通俗的说,把该隐藏的隐藏起来,该暴露的暴露出来。这就是封装性的设原创 2022-01-20 16:43:54 · 180 阅读 · 0 评论 -
Java基础(八):面向对象上:重载、可变个数形参、值传递机制、递归
文章目录1. 重载2. 可变个数形参3. 值传递机制4. 递归5. 练习1. 重载方法的重载的概念定义:在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数或者参数类型不同即可。总结:“两同一不同”:同一个类、相同方法名参数列表不同:参数个数不同,参数类型不同构成重载的举例:举例一:Arrays类中重载的sort() / binarySearch();PrintStream中的println()举例二://如下的4个方法构成了重载 public void getSum(int原创 2022-01-19 20:23:24 · 156 阅读 · 0 评论 -
Java基础(七):面向对象上:类和对象、属性、方法
文章目录1. 类与对象2. JVM内存结构3. 类的结构:属性4. 类的结构:方法5. 练习1. 类与对象1.面向对象学习的三条主线:1.Java类及类的成员:属性、方法、构造器;代码块、内部类2.面向对象的大特征:封装性、继承性、多态性、(抽象性)3.其它关键字:this、super、static、final、abstract、interface、package、import等“大处着眼,小处着手”面向对象与面向过程(理解)面向过程:强调的是功能行为,以函数为最小单位,考虑怎么做。原创 2022-01-19 15:51:57 · 523 阅读 · 0 评论 -
Java基础(六):数组2
文章目录1. 数组常见算法2. Arrarys工具类的使用3. 数组常见异常4. 练习1. 数组常见算法1.数组的创建与元素赋值:杨辉三角(二维数组)、回形数(二维数组)、6个数,1-30之间随机生成且不重复。2.针对于数值型的数组:最大值、最小值、总和、平均数等3.数组的赋值与复制int[] array1,array2;array1 = new int[]{1,2,3,4};3.1 赋值:array2 = array1;如何理解:将array1保存的数组的地址值赋给了array2,原创 2022-01-17 16:09:22 · 221 阅读 · 0 评论 -
Java基础(五):数组
文章目录1. 数组概述2. 一维数组2.1 声明与初始化2.2 一维数组元素的引用:通过角标的方式调用。2.3 数组的属性:length2.4 一维数组的遍历2.5 一维数组元素的默认初始化值2.6 一维数组的内存解析3. 二维数组3.1 如何理解二维数组?3.2 二维数组的声明与初始化3.3 如何调用二维数组元素:3.4 二维数组的属性:3.5 遍历二维数组元素3.6 二维数组元素的默认初始化值3.7 二维数组的内存结构4. 练习1. 数组概述数组的理解:数组(Array),是多个相同类型数据一定顺原创 2022-01-16 20:41:32 · 500 阅读 · 0 评论 -
Java基础(四):控制流程
文章目录1.分支结构:if-else1.1 结构1.2 说明2. 分支结构:switch-case2.1 结构2.2 说明3. 循环结构:for, while, do-while3.1 循环结构四要素3.2 三种循环结构3.3 嵌套循环3.4 经典题目:寻找质数4. 关键字:break和continue5. 补充:Scanner类的使用5. 练习1.分支结构:if-else1.1 结构//结构一:if(条件表达式){ 执行表达式}//结构二:二选一if(条件表达式){ 执行表达式1}e原创 2022-01-14 21:36:55 · 261 阅读 · 0 评论 -
Java基础(三):基本语法(下)——运算符
文章目录1.算数运算符1.1典型代码1.2 特别说明2.赋值运算符2.1 典型代码2.2 特别说明3.比较运算符3.1 典型代码3.2 特别说明4.逻辑运算符4.1 典型代码4.2 特别说明5.位运算符5.1 典型代码5.2 特别说明6.三元运算符6.1 典型代码6.2 特别说明7.练习1.算数运算符算术运算符: + - + - * / % (前)++ (后)++ (前)-- (后)-- +1.1典型代码//除号:/int num1 = 12;int num2 = 5;int result1原创 2022-01-14 16:41:45 · 389 阅读 · 0 评论 -
Java基础(二):基本语法(上)——关键字、标识符、变量、进制
文章目录1. 关键字与标识符1.1 Java关键字的使用1.2 保留字1.3 标识符的使用2. 变量的使用(重点)2.1 变量的分类2.2 定义变量的格式2.3 变量使用注意点2.4 基本数据类型变量间运算3. 进制3.1 进制及其表示方式3.2 二进制使用说明3.3 进制间转换1. 关键字与标识符1.1 Java关键字的使用定义:被Java语言赋予了特殊含义,用做专门用途的字符串(单词)特点:关键字中所有字母都为小写关键字举例:1.2 保留字定义: 现有 Java 版本尚未使用 ,但以后版原创 2021-12-21 21:27:41 · 244 阅读 · 0 评论 -
Java基础(一):Java语言概述
文章目录1.1.原创 2021-11-24 01:27:58 · 425 阅读 · 0 评论