Java基础(十二)★反射

时间:2023-02-16 11:01:15

复习:

1. 套接字---本质上是一套基于网络进行数据传输的API---UDP/TCP

2. UDP---基于流的。不需要建立连接,不可靠,传输速度比较快。需要对数据及封包,每个包不超过64k---发送端和接收端---DatagramSocket

3. TCP---基于流的。需要建立连接,经过三次握手,可靠,传输速度比较慢。理论上不限制数据的大小。---客户端和服务器端---SocketServerSocket

反射

 Java基础(十二)★反射

高内聚,低耦合---提高模块内的利用率;降低模块之间的依赖性

Class---代表字节码的类---代表类的类

Field---代表属性的类

Method---代表方法的类

Constructor---代表构造方法的类

Package---代表包的类

Annotation---代表注解的类

反射---剖析类,分析类的字节码,产生对应的字节码对象以及实例对象

如何获取一个Class对象?

1. 通过对象.getClass()的方式来获取这个对象对应的类的字节码对象

2. 通过类名.字节码的方法来获取这个类所对应的字节码对象

3. 通过Class.forName(类的全路径名);来获取这个类的字节码对象

Java是一门完全面向对象的语言---万物皆对象

int i = 5;

断言

预测结果

assert 结果预测 : 预测失败的提示;

JDK8的特性

接口中的默认方法

JDK1.8开始,允许接口中定义实体方法,要求这个实体方法必须用default修饰;也允许接口中定义静态方法

Lambada表达式

(参数列表) -> 表达式;

(参数列表) -> {代码块};

Lambda表达式表示重写接口中的抽象方法

注意:当使用Lambda表达式来重写方法的时候,要求这个接口中只能有一个抽象方法。

Comparator Comparable Runnable FileFilter FilenameFilter Iterable

如果一个接口中只有一个抽象方法,可以把这个接口声明为一个函数式接口。