不是太细的java自学笔记进阶篇8(p619-661)(java网络编程,反射机制)

34 篇文章 1 订阅

Table of Contents

目录:

上节内容补充:

网络编程:

端口号:

协议:

TCP/IP

网络编程案例:

UDP:

UDP案例:

URL:

反射机制(Reflection)

两个疑问?

关于Class类的理解

类的加载的简单理解

调用运行时类的指定结构(属性,方法)


上节内容补充:

   

网络编程:

     

端口号:

 

协议:

TCP/IP

    

网络编程案例:

  

UDP:

 

UDP案例:

  

URL:

  

反射机制(Reflection)

  

在运行时确定类的内部信息。

  

两个疑问?

 

当我们不能确定我们需要造什么样的对象时,也就是我们在程序运行时才能知晓我们的固定需求,才能确定需要什么类,那么我们就需要用到反射。

疑问2:反射机制是否和封装性矛盾?

不矛盾。反射解决的是能不能调用的问题,而封装性是不建议调用私有方法属性。但是如果你要调用也是可以。

关于Class类的理解

  

第一种方式没有体现出动态性,因为Person类已经写死了,在编译的时候就会寻找是否有这个Person类,如果没有就会出错,第三种方式使用的最多,第三种方法需要写全类的位置。

运行时类会存放在缓存区一定时间,我们可以用不同的方式获取这个运行时类,不同方式获取的运行时类相同。

 

维度表示一位数组或者二位数组

类的加载的简单理解

   

ClassLoader读取配置文件:

 

在配置web服务器是,如果我们的配置文件放到了module下,在部署到tomcat服务器之后配置文件会缺失,所以我们有两种解决方法:第一种方法就是使用ClassLoader方式进行文件配置,默认在当前Module下的src文件夹下。第二种方式是使用文件输入流,但是路径改成src下的路径获取,例如:

 

可以通过反射获取类的所有内容:包括属性,方法,注解,父类的属性方法注解,声明的接口的内容等

还可以获取类的构造器,举个栗子:

 

但是!!非常无聊基本不用

下面的可能会用到:获取运行时类的带泛型的父类的泛型,可能会用于数据库获取数据

 

获取接口可能会在动态代理中使用:

 

调用运行时类的指定结构(属性,方法)

操作属性:

  

操作方法:

   

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值