Java基础_反射与内部类

Day_18 反射与内部类

一.反射
1.定义:反射(Reflection)是Java程序开发语言的特征之一,它允许运行中的Java程序对自身进行检查,或者说自省。功能十分强大,它甚至能够直接操作程序的私有属性,我们前面学习都有一个概念,那就是private的只能类内部访问,外部是不行的,但是反射打破了这个概念。反射就像一面镜子,他可以在运行时获取一个类的所有信息,可以获取到任何定义的信息,包括成员变量,成员方法,构造器等等,并且可以操纵类的字段,方法和构造器等部分。

二.为什么需要反射?
在开发的世界里,spring就是专业的组织,它来帮我们创建对象,管理对象。我们不再new对象,而直接从 spring提供的容器中beans获取即可。Beans底层其实就是一个Map<String,Object>,最终通过getBean(“user”)来获取,而这其中最核心的实现就是利用反射技术。类不是自己创建的,此时要获得这个类的底层功能调用,就需要反射技术。

三.内部类
1.定义:如果一个类存在的意义就是为了指定另一个类,可以把这个类放入另一个类的内部。就是把类定义的类的内部的情况就可以形成内部类的形式。A类中又定义了B类,B类就是内部类,B类可以当做A类的一个成员来看。

2.特点
<1>内部类可以直接访问外部类中的成员,包括私有成员。
<2>外部类要访问内部类的成员,必须要建立内部类的对象。
<3>在成员位置的内部类是成员内部类。
<4>在局部位置的内部类是局部内部类。

四.Socket
1.定义:Socket也叫作套接字编程,是一个抽象层。应用程序可以通过它发送或者接受数据,可对其像对文件一样的打开,读写和关闭等操作。套接字允许应用程序将I/O插入到网络中,并且与网络中的其他应用程序进行通信,网络套接字是IP地址与端口与协议的组合。Socket就是为网络编程提供的一种机制,通信的两端都有Socket,网络通信其实就是Socket之间的通信,数据在两个Socket之间通过IO传输。

猜你喜欢

转载自blog.csdn.net/weixin_41858806/article/details/112313929