DayOne

今天,算是我正式开始准备比较系统的学习的步伐了。加油。

首先就是今天的一些学习总结了,今天学的主要是java的一些增强部分。

第一,JUnit框架,我个人觉得这是一个非常好的框架,能大大的改善我们在学习的过程中对Main主方法的书写次数,而且我们在开发的过程中也是会将一个大程序拆分成几个不同的模块去做,这样就可以很好的将所书写的功能模块部分写的比较好了。而且只需要在方法的最前面加上@Test这么几个小小的单词就可以了。

第二、可变参数,... variable_name,这样就是一个可变参数的定义方式,能大大的减少我们在一些定义变量的过程中麻烦。那么我们在对可变参数的取用时,完全可以把可变参数这个值当成一个数组,这样就可以比较完善的将此实现完美,而在取的时候,我们又会经常使用到另外一个增强for如图。


如图1-1

这就是比较基础的增强for和可变参数的使用。

第三、枚举。我们在编写程序的时候经常会控制一些数据的范围,而枚举就完全可以实现这个功能。enum.  如图


如图1-2

枚举的定义,这就是一个最基本的枚举的定义,能将这个枚举的名字传到一个方法里面作为一个参数,就能实现给出一个带范围的值,也就是将一般可以将枚举看成是一个类。如果是一个类的话,那么是不是还有带抽象方法的枚举呢?

这个时候我们就需要在枚举值也就是上面的A,B,C,D,E各个值的后面将这个需要实现的抽象方法进行实现。枚举的构造方法必须是私有的,这一点我想不难理解。

第四、反射。这是一个特别重要的概念,在学习框架的情况下以及编写一个框架的时候我们就会用到这个技术。反射就是加载类,并且加载出这个类的各个组成部分。

加载类:加载类,获得类的字节码。有三个方法

                      第一种:class.forname("类的路径");

                      第二种:new 类名().getClass();这样就可以加载出这个类了。

                      第三种:类名.class;

解剖类:这里的解剖类其实可以大体上分为一个类最常用的几部分。

                      第一个:构造函数。.getConstructor()。但是这个方法的返回值是一个Constructor接口,所以在实例化的时候,不能直接new,而是要使用.newInstance()这个来进行实例化。但是这个只能反射出public这个权限的方法,所以我们还必须把私有的这个方法进行核对。在使用中,有一个getDeclaredConstrustor()这个方法,就可以将私有化的进行反射。不过构造方法貌似只需要直接加载类之后使用就行了,而不用解剖。

                       第二个:方法。方法和构造函数的方法上大体上还是差不多的,所使用的方法大体上也就是这种。.invoke("实体类对象","参数");其他的大体上也一致相同了,就不再展示。

                       第三个:主方法。主方法在使用的过程中,有一个String[] arg;这个在其中怎么反射呢?这里我们只需要对参数在外面加一层Object类型就行了

                        第四个:字段。

第五、内省操作。Introspector.getbeanInfo(Person.Class)。这个就可以得到和操作。

第六、泛型。泛型避免了不必要的强制转换,避免了一些程序的安全问题。ArrayList  Map

这两个都是比较重要的内容,

另外,个人是小白,有错误请留言。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容