摘要:
1.概念: 运行时,对任意类,都能知道这个类的所有属性和方法;对任意一对象,都能够调用它的每个方法和属性;这种动态获取、动态调用的功能称为Java语言的反射机制。2.实现 Java反射相关的API在包java.lang.reflect中Member接口该接口可以获取有关类成员(域或者方法)后者构造函数的信息。AccessibleObject类该类是域(field)对象、方法(method)对象、构造函数(constructor)对象的基础类。它提供了将反射的对象标记为在使用时取消默认 Java 语言访问控制检查的能力。Array类该类提供动态地生成和访问JAVA数组的方法。Construct. 阅读全文
摘要:
案例:package com.devin;public class MyMain { public static void main(String args[]) { Father f = new Son(); }}class Father { public Father() { System.out.println("Father Construct"); } static int a=printFahter(); static int printFahter() { System.out.prin... 阅读全文
摘要:
1.概念 泛型就是参数化类型。泛型的好处是在编译的时候检查类型安全,并且所有的强制转换都是自动和隐式的,提高代码的重用率。2.案例1)先看下面案例//不适用泛型编程Apple app0=new Apple();Apple app1=new Apple(); List li = new ArrayList();li.add(app0); //添加非需要类型时发现不了错误。li.add(app1); Apple appUsed=(Apple)li.get(0); //使用泛型编程如下Apple app0=new Apple();Apple app1=new Apple(); Lis... 阅读全文
摘要:
1. JAVA调用系统命令或可执行程序// String cmd = "F:\\apache-tomcat-6.0.20.exe"; // String cmd = "D:\\Program Files\\Microsoft Office\\OFFICE11\\WINWORD.EXE F:\\test.doc"; // String cmd = "cmd.exe /c start F:\\test.doc"; String cmd = "ping www.baidu.com"; Runtime run = Runt 阅读全文
摘要:
Java内部类其实在J2EE编程中使用较少,不过在窗口应用编程中特别常见,主要用来事件的处理。其实,做非GUI编程,内部类完全可以不用。内部类的声明、访问控制等于外部类有所不同,要灵活使用内部类来编写程序,还是有相当难度的,Java发明了这种难懂的玩意儿,在其他语言中是没有的,但是在Java中,内部类也相当的重要,尤其做GUI开发时候,事件的响应处理全靠内部类了。内部类所做的功能使用外部类也同样可以实现,只是有时候内部类做的更巧妙些。内部类按照其所在位置不同,可分为以下几种:1、(普通的)内部类(最常见的内部类,内部类的定义与类成员平级,)2、方法内部类3、匿名类4、静态内部类5、接口内部类一 阅读全文
摘要:
案例:package com.devin;public class MyMain{ private static String name = "woobo"; private String num = "X001"; // 静态内部类可以用public,protected,private修饰 static class Person { // 静态内部类中可以定义静态或者非静态的成员 private String address = "China"; private static String x = "as"; . 阅读全文
摘要:
Java 中一共有 4 种类型的引用 : StrongReference、 SoftReference、 WeakReference 以及 PhantomReference ,这 4 种类型的引用与 GC 有着密切的关系, 让我们逐一来看它们的定义和使用场景 : 1. Strong Reference StrongReference 是 Java 的默认引用实现, 它会尽可能长时间的存活于 JVM 内, 当没有任何对象指向它时 GC 执行后将会被回收Java代码 @TestpublicvoidstrongReference(){Objectreferent=newObject();/*... 阅读全文
摘要:
如果某些操作不依赖具体实例,那它就是静态的,反之如果某些操作是依赖具体实例的(例如访问一个特定会员的名称),那它就应该是实例化的。静态方法不用new对象可以直接调用1.与类相关与对象无关2.不需要对象的“轻”方法3.工厂方法如果某个方法是用频率较高,或者方法本身通用性较强,无需初始化类成员变量,则可以使用静态方法,那样方便,速度也快.可以直接拿来就用的方法,就算是静态的.肯定不涉及具体对象,因为静态方法内,是无法直接使用任何非静态成员的。(1)制作工具类(2)可以当作"作局"对象或方法来使用静态方法和实例方法是一样的,在类型第一次被使用时加载。调用的速度基本上没有差别。静态方法不用创建实例就可 阅读全文
摘要:
案例一 下面使用java回调函数来实现一个测试函数运行时间的工具类:如果我们要测试一个类的方法的执行时间,通常我们会这样做:publicclassTestObject{/***一个用来被测试的方法,进行了一个比较耗时的循环*/publicstaticvoidtestMethod(){for(inti=0;i<100000000;i++){}}/***一个简单的测试方法执行时间的方法*/publicvoidtestTime(){longbegin=System.currentTimeMillis();//测试起始时间testMethod();//测试方法longend=System.cur 阅读全文
摘要:
import java.util.regex.Matcher; import java.util.regex.Pattern; /** * <p> * Title: HTML相关的正则表达式工具类 * </p> * <p> * Description: 包括过滤HTML标记,转换HTML标记,替换特定HTML标记 * </p> * <p> * Copyright: Copyright (c) 2006 * </p> * * @author hejian * @version 1.0 * @createtime 2006-1 阅读全文