反射
什么是类对象
类的对象:new出来的对象,也称为实例对象。
类对象:类加载的产物,封装了一个类的所有信息(类名,父类,接口。属性,方法,构造方法)
获取类对象
通过类的对象,获取类对象
Student s = new Student();
Class c = s.getClass();
通过类名获取类对象
Class c = 类名.class;
通过·静态方法获取类对象
Class c = Class.forName(“包名.类名“);
常用方法:
Public String getName()
Public Package getPackage()
Public Class<? Super T>getSuperclass()
Public Class<?>[] getInterfaces()
Public Files[] getFields()
Public Method[] getFilelds()
Public Constructor<?>[] getConstructors()
Public T newInstance()
包名
ENTITY:包名只要是entity结尾的,都要满足ORM(对象关系型映射)和JAVABEAN两个规范,只要符合了这两个规范,那么这个文件就是一个entity)
补充:如果单单只是一个实体类模型的话,是很难满足我们项目各种变化的需求
DO:基于entity之上在封装出一个DO层,用来专注于持久层的操作
DTO:基于entity之上在封装出一个DTO层,用来专注于业务逻辑层的操作
VO:基于entity之上在封装出一个VO层,用来专注于视图层的操作
也就是说DO,DTO,VO都和ENTITY有共同的字段!
典型的三层架构设置
设计模式
一套被反复使用,多数人知晓的,经过分类·编目的,代码涉及经验的总结
饿汉式
只允许创建一个该类的对象:类加载时创建,天生线程安全
class A {
private static final A a = new A();
private A() { }
public A getA() {
return a;
}
}
懒汉式
使用时创建,线程不安全,使用同步代码块
class A {
private static A a = null;
private A() {
}
public A getA() {
if (a == null) {
synchronized (this) {
if (a == null) {
a = new A();
}
}
}
return a;
}
}
工厂设计模式
开闭原则:拓展开放,修改关闭;
工厂模式主要负责对象创建的问题
课通过反射进行工厂模式的设计,完成动态的的对象创建。
监听者模式
代理模式
适配器模式
观察者模式
装饰者模式
消费生产者模式
枚举
是一个引用类型,枚举是一个规定了取值范围的数据类型。
枚举变量不能使用其他的数据,只能使用枚举中常量赋值,提高程序安全性。
定义枚举使用enum关键字。
枚举的本质:
枚举是一个终止类,并继承Enum抽象类
枚举中常量是当前类型的静态常量
注解
是代码里的特殊标记,程序可以读取注解,一般用于代替配置文件。
开发人员恶意通过注解告诉类如何运行。在java技术里注解的典型应用是:可以通过反射技术去得到类里面的注解,以决定怎么去运行类。
常见注解:@Override ,@Deprecated
定义注解使用@interface关键字,注解中只能包含属性。
注解属性类型:String类型,基本数据类型,Class类型,枚举类型,注解类型,以上类型的一维数组