![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JAVA
dengtuxing
这个作者很懒,什么都没留下…
展开
-
反射
Java的反射机制是在运行状态中,对于任意一个类,都能知道这个类的属性和方法,对于任意一个对象,都能使用该类的成员与方法,这种动态获取的以及动态调用方法的功能称为反射机制。 通过反射技术, 我们可以拿到该字节码文件中所有的东西, 例如成员变量, 成员方法, 构造方法, 而且还包括私有的。1 字节码文件获取的三种方式 1.1 对象.getClass() 此方法用于在Object对象已经存...原创 2018-09-07 14:19:05 · 137 阅读 · 0 评论 -
反射-动态代理
当某些操作其实是别人实现,而自己只需要实现本类该做的事情时,可以使用代理来完成两个操作,这样可以将功能区分开,更好的实现类的低耦合。 比如,登录操作只需要负责登录就好,注册只需要做好注册即可,而这些操作前可能会需要检查权限以及记录操作的日志,那么为了让功能更加清晰明了,使用动态代理则是不错的选择。 这里讲到的动态代理只是使用JDK提供的Proxy以及InvocationHandler接口实现。...原创 2018-09-05 15:22:27 · 165 阅读 · 0 评论 -
反射--通过反射设置对象的属性值
要求写一个方法对对象设置值: public void setProperty(Object obj,String propertyName,String value); 此方法可对obj的属性propertyName设置值value。//代码package cn.itcast_01;public class Student { private String name; ...原创 2018-09-05 10:51:59 · 3656 阅读 · 0 评论 -
反射--绕过泛型类型检查
例子:有一个ArrayList的对象,需要存储一个字符型数据,如何实现? 首先,泛型是在编译期就能检查,防止不正确的数据,而反射是由类字节文件来实现取得类的成员、构造以及方法,通过反编译文件可以看到,在执行文件中并没有类型的限制,因此可以用反射机制来实现。package cn.itcast_01;import java.lang.reflect.InvocationTargetExc...转载 2018-09-05 10:02:03 · 776 阅读 · 0 评论 -
多线程的三种实现方式
1、继承Thread类,重写run方法public class MyThread extends Thread{ public void run(){ for(int i = 0;i<100;i++){ System.out.println(“”) ...转载 2018-09-01 12:20:19 · 10740 阅读 · 1 评论 -
设计模式之单例模式-懒汉式
饿汉式是一加载就创建对象 懒汉式是需要使用再造对象案例 public class Teacher{ private Teacher(){}; //不创建对象 private static Teacher t = null;public static Teacher getTeacher(){ if (t==null){...转载 2018-09-01 11:10:26 · 91 阅读 · 0 评论 -
设计模式之单例模式-饿汉式
单例设计模式概述:单例模式就是要确保类在内存中只存在一个对象,该实例必须自动创建,并对外提供。 优点:在内存中只存在一个对象,因此可以节约系统资源,对于一些需要频繁创建和销毁的对象,单例模式无疑是可以提高系统的性能。 缺点:没有抽象层,因此扩展很难。 责任过重,在一定程序上违反了单一原则. 保证类中只有一个对象的步骤: 1. 构造私有 2. 在成员位置创建一个对...转载 2018-09-01 11:03:08 · 89 阅读 · 0 评论 -
工厂方法模式
工厂方法模式概述:工厂方法模式中抽象工厂类负责定义创建对象的接口,具体对象的创建工作由继承抽象工厂的具体类实现。 优点:客户端不需要负责对象的创建,从而明确了各个类的职责,如果有新的对象增加,只需要增加一个具体的类和具体的工厂类即可,不影响其他的代码,后期维护容易,增强了可扩展性。 缺点:需要增加额外的代码,增加了工作量。工厂方法模式案例://动物抽象类public abstract...原创 2018-09-01 10:36:42 · 267 阅读 · 0 评论 -
设计模式之简单工厂模式
简单工厂模式概述:又叫静态工厂方法模式,定义一个具体的工厂类负责创建一些类的实例。 工厂类的优点:客户端不需要负责类的创建,从而明确类的职责。 缺点:工厂类负责创建类的对象,从而在有新的对象增加时,或者一些类的创建比较复杂时,导致工厂类需要不停的修改,增加维护的难度。简单例子: 动物抽象类: public abstract class Animal{ public abst...转载 2018-08-23 16:02:06 · 103 阅读 · 0 评论 -
反射- 方法传入数组的处理
当类字节码中的方法需要传入一个数组参数时,需要将数组参数打包为一个整体传入,否则会报java.lang.IllegalArgumentException: wrong number of arguments错误。 例如: 方法 public void show(String[] strs){ for(String s :strs){ System...原创 2018-09-07 14:54:23 · 1153 阅读 · 0 评论