Java基础加强
李阿昀
昀,三尺微命,一介书生。只当穷且益坚,不坠青云之志!
展开
-
Java基础加强第一讲 枚举
为什么要有枚举一些方法在运行时,它需要的数据不能是任意的,而必须是一定范围内的值,此类问题在JDK1.5以前采用自定义带有枚举功能的类来解决,JDK1.5以后可以直接使用枚举予以解决。JDK1.5新增的enum关键字用于定义一个枚举,枚举也是一个类。这样的问题有很多,比如程序中要定义星期几或性别的变量,该怎么定义呢?假设用1-7分别表示星期一到星期日,但有人可能会写成int weekday =...原创 2019-01-14 01:01:52 · 685 阅读 · 1 评论 -
Java基础加强第二讲 反射(上)——反射的基石:Class类
反射的基石——Class类Java类用于描述一类事物的共性,该类事物有什么属性,没有什么属性,至于这个属性的值是什么,则是由这个类的实例对象来确定的,不同的实例对象有不同的属性值。那么问题来了,Java程序中的各个Java类,它们是否属于同一类事物,是不是可以用一个类来描述这类事物呢?由此问题,引出了反射的基石——Class类。众多的人可以用一个Person类来表示,它的实例对象就是张三,李四这...原创 2019-01-17 23:50:11 · 597 阅读 · 1 评论 -
Java基础加强第二讲 反射(中)——反射API类:Constructor、Field以及Method类
反射的基石——Class类Java类用于描述一类事物的共性,该类事物有什么属性,没有什么属性,至于这个属性的值是什么,则是由这个类的实例对象来确定的,不同的实例对象有不同的属性值。那么问题来了,Java程序中的各个Java类,它们是否属于同一类事物,是不是可以用一个类来描述这类事物呢?由此问题,引出了反射的基石——Class类。众多的人可以用一个Person类来表示,它的实例对象就是张三,李四这...原创 2019-01-15 23:57:48 · 879 阅读 · 1 评论 -
Java基础加强第二讲 反射(下)——数组的反射
具有相同维数和元素类型的数组属于同一个类型,即具有相同的Class实例对象(此处比较与值无关)。例如,此处,我再介绍两个方法,如下:方法描述public String getName()以String的形式返回此Class对象所表示的实体(类、接口、数组类、基本类型或void)名称public Class<? super T> getSuperclas...原创 2019-01-18 00:26:47 · 1087 阅读 · 1 评论 -
Java基础加强第三讲 内省
内省内省的概述内省对应的英文单词为IntroSpector,它主要用于对JavaBean进行操作。那什么又是JavaBean呢?JavaBean的概述JavaBean是一种特殊的Java类,主要用于传递数据信息,这种Java类中的方法主要用于访问私有的字段,且方法名符合某种命名规则。如果一个Java类中的一些方法符合某种命名规则,则可以把它当作JavaBean来使用。那么问题出来了,一个...原创 2019-01-18 23:36:07 · 561 阅读 · 3 评论 -
Java基础加强第四讲 注解(上)——注解入门
Annotation(注解)的概述从JDK1.5开始,Java增加了对元数据(MetaData)的支持,也就是Annotation(注解)。Annotation其实就是代码里的特殊标记,它用于替代配置文件,也就是说,传统方式通过配置文件告诉类如何运行,有了注解技术后,开发人员可以通过注解告诉类如何运行。在Java技术里注解的典型应用是可以通过反射技术去得到类里面的注解,以决定怎么去运行类。了...原创 2019-01-19 14:56:34 · 1068 阅读 · 1 评论 -
Java基础加强第四讲 注解(下)——解析注解案例
注解入门后,还不趁火打铁,将注解的应用弄得炉火纯青,更待何时。我们通过3个例子来详解注解在实际开发中的应用。解析注解的简单案例我们首先关注一个解析注解的简单案列,由简入难,循序渐进,最后过渡到非常复杂的案例中。 在实际项目中,我们通常需要编写一个JdbcUtils的工具类,用于得到与数据库的连接,而与数据库相关的基本配置信息我们通常是用一个配置文件来存储的,但现在我们希望用一个注解来替代配置文件。原创 2016-09-20 11:10:06 · 2646 阅读 · 4 评论 -
Java基础加强第五讲 泛型(上)——初识泛型
大家可以看看JDK帮助文档中的Class的定义,其中好多地方涉及到了<>的语法形式,这就是我们今天要讲解的泛型。泛型是JDK1.5的所有新特性中最难深入掌握的部分,不过,我们在实际应用中不能掌握得那么深入,掌握泛型中一些最基本的内容就差不多了。体验泛型没有使用泛型时,只要是对象,不管是什么类型的对象,都可以存储进同一个集合中。使用泛型集合,可以将一个集合中的元素限定为一个特定类型...原创 2019-01-19 22:09:35 · 768 阅读 · 10 评论 -
Java基础加强第五讲 泛型(下)——泛型类及其应用
定义泛型类型如果类的实例对象中的多处都要用到同一个泛型参数,即这些地方引用的泛型类型要保持同一个实际类型时,这时候就要采用泛型类型的方式进行定义,也就是类级别的泛型,语法格式如下:package cn.liayun.generic;import java.util.Set;//dao:data access object → C(创建)、R(检索)、U、Dpublic class G...原创 2019-06-15 09:57:07 · 588 阅读 · 0 评论 -
Java基础加强第六讲 动态代理技术(上)——动态代理入门
动态代理简单入门动态代理技术在实际开发中用到的非常多,所以有必要详解一下这门技术。这门技术非常难,因此学起来还是比较困难的,但我们不怕困难,定要啃下这块硬骨头。 要想理解动态代理这门技术,必须明确两个概念:代理对象存在的价值:主要用于拦截对真实业务对象的访问。代理对象有什么方法? 一般来说,真实业务对象具有什么方法,那么代理对象就会具备相应的方法。现在要生成某一个对象的代理对象,这个代理对原创 2016-09-20 16:27:10 · 3062 阅读 · 4 评论 -
Java基础加强第六讲 动态代理技术(下)——动态代理技术的应用
动态代理应用在动态代理技术里,由于不管用户调用代理对象的什么方法,都是调用开发人员编写的处理器的invoke方法(这相当于invoke方法拦截到了代理对象的方法调用),并且开发人员通过invoke方法的参数,还可以在拦截的同时,知道用户调用的是什么方法,因此利用这两个特性,就可以实现一些特殊需求,例如:拦截用户的访问请求,以检查用户是否有访问权限、动态为某个对象添加额外的功能。使用动态代理技术包装r原创 2016-09-20 17:34:19 · 2668 阅读 · 0 评论