Java编程原理——动态与函数式编程 反射 反射是在类运行时动态获取类型的信息。比如接口信息、成员信息、方法信息、构造函数信息等。根据动态获取到的信息创建对象、访问/修改成员、调用方法等。 使用反射可以得到类的名称,调用方法getName()。其中还包括getSimpleName(),getCanonicalName()以及getPackage()。 类中定义的静态和实例变量称之为字段,使用Field类表示,可以获取字段的访问权限,设 2022-02-16 Java Java基础
Java编程原理——并发 并发基础 线程表示一条单独的执行流,它有自己的执行计数器,有自己的栈; 使用线程的方式有两种,继承Thread类以及实现Runnable接口,两种达到的效果是一样的。 线程具有下列状态: NEW:没有调用start方法线程状态; TERMINATED:线程运行结束后状态; RUNNABLE:调用start后线程执行run方法且没有阻塞时状态; BLOCKED、WAITING、TIMED_WAI 2022-02-16 Java Java基础
Java编程原理——泛型和容器 1 泛型1.1 基本概念 泛型实际上就是将类型参数化,处理的数据类型不是固定的,而是可以作为参数传入; Java的泛型实际上通过Java编译器对泛型字符做类型擦除实现的; 泛型可以指定上限为某个具体类,例如: 12345public class NumberPair<U extends Number, V extends Number> extends Pair<U, V> 2022-02-16 Java Java基础
Java编程原理——面向对象基础 1. 类的定义与理解1.1 容器的视角 函数是代码的容器,而类是函数的容器; 既然类是函数的容器,应当既可以对外暴露相应的行为和操作,也可以屏蔽相应的动作和行为防止误用; 通过private关键字封装和隐藏函数的内部细节,避免被误操作,是计算机程序中的基本思维方式; 1.2 数据类型的视角 类也可以看作为自定义数据类型,一个数据类型包含其基本定义以及操作; 一个表示数据类型的类可以由以下4部分构 2022-02-16 Java Java基础
Java编程原理——计算机执行的二进制逻辑 1. 二进制—计算机表示数据的方式1.1 十进制表示数的方式 以123来说,使用十进制表示可以写为: 123 = 1 \times 10 ^2 + 2 \times 10 ^1 + 3 \times 10 ^ 0 按照类比规则推算,N进制数字abc有如下表示,其中k为位权: abc_{(N)} = a \times k^m + b \times k^{m-1} + c \times k^{ 2022-02-16 Java Java基础
Java编程原理——编程基础 1. Java基本数据类型1.1 整数类型:包括byte, short, int和long;分别占用1, 2, 4和8个字节。取值范围如下: 类型名 取值范围 byte -2^7 ~ 2^(7-1) short -2^15 ~ 2^(15-1) int -2^31 ~ 2^(31-1) long -2^63 ~ 2^(63-1) 1.2 小数类型:有float和d 2022-02-13 Java Java基础