随笔分类 - Java
摘要:目录拷贝对象方法一 构造函数测试用例方法二 重载clone()方法重写代码测试用例方法三 Apache Commons Lang序列化重写代码测试用例方法四 Gson序列化测试用例方法五 Jackson序列化重写代码测试用例总结 在 Java 语言里,当我们需要拷贝一个对象时,有两种类型的拷贝:浅拷
阅读全文
摘要:目录概述概念格式@FunctionalInterface注解自定义函数式接口函数式编程Lambda的延迟执行性能浪费的日志案例Lambda的更优写法证明Lambda的延迟使用Lambda作为参数和返回值常用函数式接口Supplier接口例子:求数组元素最大值Consumer接口抽象方法:accept
阅读全文
摘要:目录概述定义格式含有抽象方法含有默认方法和静态方法含有私有方法和私有静态方法基本的实现实现的概述抽象方法的使用默认方法的使用静态方法的使用私有方法的使用接口的多实现默认方法静态方法优先级的问题接口的多继承其他成员特点 概述 接口,是Java语言中一种引用类型,是方法的集合,如果说类的内部封装了成员变
阅读全文
摘要:目录概述顺序结构判断语句判断语句1--if判断语句2--if...else判断语句3--if..else if...else选择语句选择语句--switchcase 的穿透性循环语句循环概述循环语句1--for循环语句2--while循环语句3--do...while循环语句的区别跳出语句break
阅读全文
摘要:目录面向对象思想概述举例特点类和对象什么是类什么是对象类与对象的关系类的定义事物与类的对比类的定义格式对象的使用对象的使用格式成员变量的默认值对象内存图一个对象,调用一个方法内存图两个对象,调用同一方法内存图一个引用,作为参数传递到方法中内存图成员变量和局部变量区别封装封装概述概述原则封装的步骤封装
阅读全文
摘要:目录概述什么是内部类成员内部类访问特点匿名内部类【重点】前提格式使用方式 概述 什么是内部类 将一个类A定义在另一个类B里面,里面的那个类A就称为内部类,B则称为外部类。 成员内部类 成员内部类:定义在类中方法外的类。 定义格式: class 外部类 { class 内部类{ } } 在描述事物时,
阅读全文
摘要:目录概念应用场景 概念 创建对象时,只有创建对象的语句,却没有把对象地址值赋值给某个变量。虽然是创建对象的简化写法,但是应用 场景非常有限。 匿名对象:没有变量名的对象。 格式: new 类名(参数列表); 举例: new Scanner(System.in); 应用场景 创建匿名对象直接调用方法,
阅读全文
摘要:目录概述不同权限的访问能力 概述 在 Java 中提供了四种访问权限,使用不同的访问权限修饰符修饰时,被修饰的内容会有不同的访问权限, public :公共的。 protected :受保护的 default :默认的 private :私有的 不同权限的访问能力 public protected
阅读全文
摘要:目录概述使用方式修饰类修饰方法修饰变量 概述 学习了继承后,我们知道,子类可以在父类的基础上改写父类内容,比如,方法重写。那么我们能不能随意的继承 API 中提供的类,改写其内容呢?显然这是不合适的。为了避免这种随意改写的情况,Java 提供了final关键字,用于修饰不可改变内容。 final:
阅读全文
摘要:目录数组定义和访问容器概念数组概念数组的定义方式一方式二方式三数组的访问数组原理内存图内存概述Java 虚拟机的内存划分数组在内存中的存储一个数组内存图两个数组内存图两个变量指向一个数组数组的常见操作数组越界异常数组空指针异常数组遍历【重点】数组获取最大值元素数组反转数组作为方法参数和返回值数组作为
阅读全文
摘要:目录异常介绍异常概念异常体系异常分类异常的产生过程解析异常的处理抛出异常 throwObjects 非空判断声明异常 throws捕获异常 try…catchfinally 代码块如何选择异常类型常见异常处理方式直接抛出异常封装异常再抛出捕获异常try-catch-finallytry-with-r
阅读全文
摘要:目录算数运算符赋值运算符比较运算符逻辑运算符三元运算符 算数运算符 算数运算符包括: + 加法运算,字符串连接运算 - 减法运算 * 乘法运算 / 除法运算 % 取模运算,两个数字相除取余数 ++、-- 自增自减运算 Java 中,整数使用以上运算符,无论怎么计算,也不会得到小数。 public s
阅读全文
摘要:目录冗余的 Lambda 场景问题分析用方法引用改进代码方法引用符语义分析推导与省略通过对象名引用成员方法通过类名称引用静态方法通过 super 引用成员方法通过 this 引用成员方法类的构造器引用数组的构造器引用 在使用 Lambda 表达式的时候,我们实际上传递进去的代码就是一种解决方案:拿什
阅读全文
摘要:目录概述方法的定义方法的调用注意事项 概述 我们在学习运算符的时候,都为每个运算符单独的创建一个新的类和main方法,我们会发现这样编写代码非常的繁琐,而且 重复的代码过多。能否避免这些重复的代码呢,就需要使用方法来实现。 方法:就是将一个功能抽取出来,把代码单独定义在一个大括号内,形成一个单独的功
阅读全文
摘要:目录泛型概述使用泛型的好处泛型的定义与使用定义和使用含有泛型的类含有泛型的方法含有泛型的接口定义类时确定泛型的类型始终不确定泛型的类型,直到创建对象时,确定泛型的类型泛型通配符通配符基本使用通配符高级使用 受限泛型 泛型概述 在前面学习集合时,我们都知道集合中是可以存放任意对象的,只要把对象存储集合
阅读全文
摘要:目录概述反射机制反射机制原理类加载概述类加载的时机:类加载各阶段完成的功能加载阶段连接阶段——验证连接阶段——准备连接阶段——解析初始化阶段Class 类方法一:直接通过一个类 class 中的静态变量 class 获取:方法二:如果我们有一个类 class 的对象,可以通过该对象引用提供的 get
阅读全文
摘要:目录栈队列数组链表红黑树 Java 数据存储的常用结构有:栈、队列、数组、链表和红黑树 栈 栈:stack,又称堆栈,它是运算受限的线性表,其限制是仅允许在标的一端进行插入和删除操作,不允许在其他任何位置进行添加、查找、删除等操作。 简单的说:采用该结构的集合,对元素的存取有如下的特点 先进后出(即
阅读全文
摘要:目录概述定义abstract 使用格式抽象方法抽象类抽象的使用注意事项 概述 父类中的方法,被它的子类们重写,子类各自的实现都不尽相同。那么父类的方法声明和方法主体,只有声明还有意义,而方法主体则没有存在的意义了。我们把没有方法主体的方法称为抽象方法。Java 语法规定,包含抽象方法的类就是抽象类。
阅读全文
摘要:目录变量数据类型数据类型分类基本数据类型包装类装箱和拆箱手动拆装箱 :自动拆装箱 :包装类的特点总结变量的定义格式注 变量 变量:常量是固定不变的数据,那么在程序中可以变化的量称为变量。 数学中,可以使用字母代替数字运算,例如 x=1+5 或者 6=x+5。 程序中,可以使用字母保存数字的方式进行运
阅读全文
摘要:目录线程多线程原理多线程的常用方法Thread 类创建线程四种方式继承 Thread 类实现 Runnable 接口实现 Callable 接口FutureTask使用匿名内部类方式Thread 和 Runnable 的区别Runnable 和 Callable 的区别线程的 run() 和 sta
阅读全文