1.设计模式
1.1概念
什么是设计模式?
设计模式一种编程思想,一种编程思路.也就是套路.是经过大量实践检验的比较好编程思路.
Java中的设计模式分为23种
主要分3大类
1.创建型设计模式
2.结构型设计模式
3.行为型设计模式
1.2单例设计模式
什么是单例设计模式?
简单的说,通过这种套路设计的程序只会有一个对象.所以该种设计模式最重要的点就是设计完成后,保证对象的唯一
优点:节约内存,方便管理
缺点:
1.3Java中单例设计模式的步骤
1.私有化构造方法,防止外界调用构造方法创建对象
2.创建全局唯一的一个类的对象,并且私有.
3.提供公共的方法可以用来访问被私有化的对象
1.4Java中单例设计模式方案1
饿汉式设计: 在一开始就创建对象
步骤:
1.将类的构造方法私有化,外界就无法通过构造方法创建类的对象
2.在类内创建一个对象,并私有化,让外界无法随意改变
3.提供一个公共的方法,用于访问创建的对象
注意,公共的方法,要设置为静态的,因为只有静态方法是可以通过类名调用,其他普通方法要通过对象.方法名(参表)的方式调用
所以,公共方法和创建的对象都是静态的资源,用static修饰
1.5Java中单例设计模式方案2
懒汉式: 在需要时才创建对象,是饿汉式的优化方案
步骤:
1.将类的构造方法私有化,
2.在类内创建一个本类类型的引用变量
3.提供一个公共的方法用于访问本类的唯一对象(static修饰)
3.1第一次调用时创建对象(if判断如果对象为空,创建对象,然后返回对象
3.2以后再调用,直接返回对象对 --if判断引用变量不为null,表示已经存在对象,直接返回对象.
2.注解
2.1概念
什么是注解?
官方解释:Java 注解用于为 Java 代码提供元数据。作为元数据,注解不直接影响你的代码执行,但也有一些类型的注解实际上可以用于这一目的.
元数据(Meta Date),关于数据的数据或者叫做用来描述数据的数据或者叫做信息的信息。
这些定义都很是抽象,我们可以把元数据简单的理解成,最小的数据单位。元数据可以为数据说明其元素或属性(名称、大小、数据类型、等),或其结构(长度、字段、数据列),或其相关数据(位于何处、如何联系、拥有者)。
————————————————
版权声明:本文为CSDN博主「超级谷歌」的原创文章,遵循CC 4.0 BY-SA版权协议, 转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/it_man/article/details/8660536
所以注解是是对代码的一个解释,但是又与注释不同.注解有点相当于一个限定,只有符合条件的才能注解,通过注解我们相当为程序带了一个帽子,一个称号.我们更容易理解.程序的作用
2.2 注解的分类
1.JDK自带的-5个
2.元注解-定义注解的注解 —5个
3.自定义注解 --自己设计的注解
JDK自带注解
1.@Override --表示这是一个重写方法
2.
3.
4.
5.
元注解
1.@Target --表示注解的能在那些地方使用(类,方法,域)
2.@Retention --注解的生命周期(,源代码,字节码,运行时)
3.@Inherited -- 可继承
4.@Documented --在JavaDoc中有
5.@Reapeatable --可重复
JDK自带注解和元注解重点掌握 @Override @Target @Retention三个
自定注解
格式:
@interface 注解名{}
花括号{}内部可以为注解添加属性2
1.未添加属性的注解可以通过@注解名直接调用
2.添加普通属性 格式为 类型名 属性名 (); 例:int age ();
3.添加普通属性后调用注解必须为属性赋值格式 @注解名(属性 = 属性值)
如@Rice ( age =10)
4.可以为普通属性赋初值,格式 :类型名 属性名 () default 值;
例: int age () default 10;
属性被赋予初值的注解可以通过方法名直接调用
5.注解有个特殊属性,属性名恒定为value,类型不限制,格式与普通属性一致
例: String value();
只有特殊属性要赋值的注解在调用时,赋值语句可以简写格式:@注解名 (值)
例:@Rice (“apple”)
6.特殊注解可以赋初值,格式与普通属性一致
例: String value() default “apple”;
7.当有多个属性赋值时,特殊属性赋值语句不可简写,每个赋值语句之间用逗号,隔开
3.反射入门
3.1概念
1.什么时是反射?
反射是java语言的一种特性,一种特有的技术,这种技术使得程序在运行是可以获取程序对象的各种属性和方法.并且可以操作方法,域和构造器.包括被封装的方法
2.有什么作用:
1.可以用于获取类的各种信息.使我们了解类的功能作用
2.可以用于了解其他人编写的类的功能
3.2如何使用反射技术
1.获取字节码对象
三种方式:
1.Class.forName(String);–静态方法法,
2.类名.class()
3.对象.getClass();
注意:第一种使用会有个类找不到异常强制我们处理
常用方法:
获取类的相关信息的方法
getName(); --获取字节码对象对应的类的完整名称
getSimpleName(); --获取字节码对象对应的类的简单名称
getPackage(); --获取字节码对象中类的包的对象 类型 名称
getPackage().getName(); --字节码对应的类的报的名称
获取类中的方法:
getMethods(); --获取类中的方法,返回值一个Method类型的数组
方法对象.getName(); --获取方法的名称
方法对象.getParamterTypes(); --获取方法的参数类型,返回值是字节码对象
4.拓展 单元测方法
是java中的最小的测试单位.
语法:方法上加注解@Test 表示这是个单元测试方法
方法格式: public void 方法名 (无参){
需要测试的代码
}
注意:需要导包 选择导入包JUnit4的包