Java
文章平均质量分 85
寒洲Etherealss
这个作者很懒,什么都没留下…
展开
-
方法引用介绍以及与lambda比较
写在最前:本笔记全程参考《Java核心技术卷I》,添加了一些个人的思考和整理。如有错误欢迎指出!目录方法引用1、方法引用的引入2、方法引用的用法2.1 解释说明2.2 方法引用的形式2.3 使用示例2.4 其他特点3、方法引用的使用示例4、方法引用和lambda的选择5、构造方法引用5.1 简介5.2 泛型数组与数组构造函数引用方法引用1、方法引用的引入假设你希望只要出现一个定时器时间,就打印这个对象,可以这么写:var timer = new Timer(1000, event -> .原创 2021-03-17 16:05:29 · 118 阅读 · 0 评论 -
异常与断言
写在最前:本笔记全程参考《Java核心技术卷I》,添加了一些个人的思考和整理。如有错误欢迎指出!目录异常和断言1、处理错误1.1 异常分类1.2 声明检查型异常声明异常的场景声明异常与throws关键字创建异常类2、捕获异常2.1 try-catch语句块2.2 捕获多个异常2.3 再次抛出异常和异常链2.4 finally子句2.5 try-with-Resource语句2.6 分析堆栈轨迹元素StackWalker与栈帧3、异常的使用技巧4、断言4.1 断言的概念4.2 启动和禁用断言4.3 什么.原创 2021-03-17 15:41:26 · 142 阅读 · 0 评论 -
Java泛型笔记(目录)
《Java核心技术卷I》泛型篇笔记目录(一) 泛型的基本使用(二) 泛型底层原理——泛型擦除(三) 泛型的特性和局限(四) 泛型通配符(五) 泛型与反射 其他可参考的资料:菜鸟教程——Java 泛型java 泛型详解-绝对是对泛型方法讲解最详细的,没有之一JAVA泛型知识: <? extends T>和<? super T>...原创 2021-03-07 15:30:31 · 101 阅读 · 0 评论 -
《Java核心技术卷I》泛型篇笔记(五) 泛型与反射
写在最前:本笔记全程参考《Java核心技术卷I》,添加了一些个人的思考和整理反射与泛型1. 泛型Class类Class类是泛型的,例如,String.class是一个Class<String>的对象(且是唯一的对象)这个类型参数分词有用,它允许Class<T>的方法返回特定的数据类型。newInstance方法返回一个这个类的实例对象,由无参数构造器获取。它的返回值类型被声明为T,与CLass中声明的参数类型相同,这样就避免了类型转换。 2. 使用Class<.原创 2021-03-07 15:22:10 · 154 阅读 · 2 评论 -
《Java核心技术卷I》泛型篇笔记(四) 泛型通配符
写在最前:本笔记全程参考《Java核心技术卷I》,添加了一些个人的思考和整理泛型与继承1. 泛型与继承和多态Employee是Manager的父类,但是Pair<Manager>与Pair<Employee>没有(也不允许有)继承关系原因:假设现在允许Pair<Manager>转换为Pair<Employee>,那么下面的代码就会成立:Pair<Manager> managerPair = new Pair<>(ceo,.原创 2021-03-07 15:16:48 · 145 阅读 · 0 评论 -
《Java核心技术卷I》泛型篇笔记(三) 泛型的特性和局限
写在最前:本笔记全程参考《Java核心技术卷I》,添加了一些个人的思考和整理泛型的特性、限制和局限性1. 不能用基本数据类型实例化参数例如,没有ArrayList<int>,或者Pair<double>,而只有ArrayList<Integer>以及Pair<Double>因为在类型擦除之后,所有的泛型都将转换为限定类型或者Object,但是基本数据类型不能转换为Object 2. 运行时类型查询只适用于原始类型例如,对于代码if (a in.原创 2021-03-07 14:26:07 · 318 阅读 · 2 评论 -
《Java核心技术卷I》泛型篇笔记(一) 泛型的基本使用
写在最前:本笔记全程参考《Java核心技术卷I》,添加了一些个人的思考和整理泛型概述1. 为什么要使用泛型泛型程序设计(generic programming)意味着编写的代码可以对多种不同类型的对象重用。在还没有泛型之前,泛型程序设计是通过继承实现的,例如ArrayList只维护一个Object[]引用的数组。这样存在两个问题:获取值时需要强转,且可以存入任意值泛型提供了类型参数(type parameter)用于指定类型,解决了上述的问题。它会让你的程序更加易读、安全泛型的作用是:用户想.原创 2021-03-07 13:58:06 · 304 阅读 · 3 评论 -
《Java核心技术卷I》泛型篇笔记(二) 泛型底层原理——泛型擦除
写在最前:本笔记全程参考《Java核心技术卷I》,添加了一些个人的思考和整理泛型底层原理虚拟机没有泛型类型对象,所有对象都将转换为普通类。 1. 类型擦除定义一个泛型类型时会自动提供一个原始类型(raw type),它的名字就是去掉类型参数之后的泛型类型名。类型变量会被擦除,并替换为其限定类型(或者,对于无限定的变量替换为Object)例如,Pair<T>的原代码如下:public class Pair<T> { private T first; p.原创 2021-03-04 00:38:17 · 763 阅读 · 2 评论 -
《Java核心技术卷I》lambda表达式 笔记
写在最前:本笔记全程参考《Java核心技术卷I》,添加了一些个人的思考和整理lambda表达式Lambda 表达式(lambda expression)是一个匿名函数,即没有函数名的函数。不要将其看成对象(原因) 1. 为什么引入lambda表达式lambda表达式是一个可传递的代码块,可以在以后执行一次或多次。其作用是,将某段代码块传递到某个对象(如一个定时器,或者是Arrays的sort方法),这个代码块将在某个时间调用。比如,可以设计一个比较器(Comparator),通过比较器的.原创 2021-03-03 22:03:24 · 331 阅读 · 4 评论 -
《Java核心技术卷I》java接口 笔记
写在最前:本笔记全程参考《Java核心技术卷I》,添加了一些个人的思考和整理接口1、接口的概念接口用来描述类应该做什么,而不指定他们应该怎么做。接口不是类,而是对希望符合这个接口的类的一组需求。不可以实例化(new)一个接口一个类可以实现零或多个接口接口的所有方法都是public抽象方法,所以可以省略关键字public abstract(例外:默认方法) 让类实现接口通常需要下面两个步骤:使用关键字implements实现接口:public class Employee impl.原创 2021-03-03 21:50:39 · 4641 阅读 · 19 评论 -
《Java核心技术卷I》java反射 笔记
写在最前:本笔记全程参考《Java核心技术卷I》,添加了本人对反射的一些使用心得反射1、反射概述反射机制的作用能够分析类能力的程序称为反射(reflective),它可以用来:在运行时分析类在运行时检查对象实现泛型数组操作代码利用Method对象调用方法 反射机制重要的相关的类java.lang.Class代表整个字节码,代表一个类java.lang.reflect.Method代表字节码中的方法字节码,java.lang.reflect.Constructor方便字节码.原创 2021-03-02 13:02:46 · 267 阅读 · 0 评论 -
protected访问权限解释——以Object的clone()方法为例
protected访问权限解释Object的clone()方法简要介绍Object类中的clone方法声明为protected,源码如下:protected native Object clone() throws CloneNotSupportedException;java中的native关键字表示这个方法是个本地方法。而且native修饰的方法执行效率比非native修饰的高。 protected访问权限解释protected访问权限允许字段或方法被同一个包下的类访问。此外,对于子原创 2021-02-20 20:44:28 · 1765 阅读 · 1 评论