摘要:
JAVA反射机制是在运行状态中,对于任意一个类,都能够得到这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制. 概括一下: 反射就是让你可以通过名称来得到对象(类,属性,方法)的技术。 例如我们可以通过类名来生成一个类的实例; 知道了方法名,就可以调用这个方法;知道了属性名就可以访问这个属性的值。 1、获取类对应的Class对象 运用(已知对象)getClass():Object类中的方法,每个类都拥有此方法。 如: String str = new String(); Class strClass . 阅读全文
posted @ 2011-10-27 18:09
发表是最好的记忆
阅读(13578)
评论(0)
推荐(2)
摘要:
静态方法和实例方法的区别主要体现在两个方面:在外部调用静态方法时,可以使用"类名.方法名"的方式,也可以使用"对象名.方法名"的方式。而实例方法只有后面这种方式。也就是说,调用静态方法可以无需创建对象。静态方法在访问本类的成员时,只允许访问静态成员(即静态成员变量和静态方法),而不允许访问实例成员变量和实例方法;实例方法则无此限制。下面几个例子展示了这一区别。1、调用静态方法示例。//-----------hasStaticMethod.java-----------------public class hasStaticMethod{//定义一个静态方 阅读全文
posted @ 2011-10-27 18:07
发表是最好的记忆
阅读(129854)
评论(2)
推荐(26)
摘要:
写出一组模拟生产者/消费者的协作程序 其中包括一个WoTou.java,代表消息 一个MsgQueue.java,为一个队列,提供put(Message msg)方法和get()方法 一个Produer.java,为生产者线程,在其run方法中每隔1秒产生一个Message对像并放入MsgQueue队列 一个Consumer.java为消费者线程,在其run方法中不断从MsgQueue队列中获取Message对像,并显示在屏幕上 一个TestMain.java,在其main方法中,启动2个Produer线程和2个消费者线程. 要求: 对于MsgQueue.java,队列的长度为1... 阅读全文
posted @ 2011-10-27 18:06
发表是最好的记忆
阅读(660)
评论(0)
推荐(0)
摘要:
内省是 Java 语言对 Bean 类属性、事件的一种处理方法(也就是说给定一个javabean对象,我们就可以得到/调用它的所有的get/set方法)。例如类 A 中有属性 name, 那我们可以通过 getName,setName 来得到其值或者设置新的值。通过 getName/setName 来访问 name 属性,这就是默认的规则。Java 中提供了一套 API 用来访问某个属性的 getter/setter 方法,通过这些 API 可以使你不需要了解这个规则,这些 API 存放于包 java.beans 中。一般的做法是通过类 Introspector 的 getBeanInfo方法 阅读全文
posted @ 2011-10-27 18:04
发表是最好的记忆
阅读(827)
评论(0)
推荐(0)
摘要:
1、String中的每个字符都是一个16位的Unicode字符,用Unicode很容易表达丰富的国际化字符集,比如很好的中文支持。甚至Java的标识符都可以用汉字,但是没人会用吧(只在一本清华的《Java2实用教程》看过)。2、判断空字符串。根据需要自己选择某个或者它们的组合 if ( s == null ) //从引用的角度 if ( s.length() == 0 ) //从长度判别 if ( s.trim().length () == 0 ) //是否有多个空白字符trim()方法的作用是是移除前导和尾部的Unicode值小于'"u0020'的字符,并返回“修剪 阅读全文
posted @ 2011-10-27 18:01
发表是最好的记忆
阅读(2416)
评论(0)
推荐(2)
摘要:
1. 在J2SE5.0中要定义枚举类型是使用enum关键词,枚举类型主要提供一些常数。如下列代码定义了Action枚举类型: Java代码 public enum Action { TURN_LEFT, TURN_RIGHT, SHOOT } 在Action.java中编写此段代码并编译,虽然语法上不像是在定义类,但枚举类型本质上就是一个类。所以编译完成后,会产生一个Action.class文件。 下面的代码是说明如何使用定义好的枚举类型一个示例: Java代码 public class EnumDemo { public static void main(Strin... 阅读全文
posted @ 2011-10-27 17:59
发表是最好的记忆
阅读(535)
评论(0)
推荐(0)
摘要:
理解Java泛型最简单的方法是把它看成一种便捷语法,能节省你某些Java类型转换(casting)上的操作:1List<Apple> box = ...;2Apple apple = box.get( 0 );上面的代码自身已表达的很清楚:box是一个装有Apple对象的List。get方法返回一个Apple对象实例,这个过程不需要进行类型转换。没有泛型,上面的代码需要写成这样:1List box = ...;2Apple apple = (Apple) box.get( 0 );很明显,泛型的主要好处就是让编译器保留参数的类型信息,执行类型检查,执行类型转换操作:编译器保证了这些 阅读全文
posted @ 2011-10-27 17:57
发表是最好的记忆
阅读(987)
评论(0)
推荐(1)
摘要:
一、this Java关键字this只能用于方法方法体内。当一个对象创建后,Java虚拟机(JVM)就会给这个对象分配一个引用自身的指针,这个指针的名字就是this。因此,this只能在类中的非静态方法中使用,静态方法和静态的代码块中绝对不能出现this,这在“Java关键字static、final使用总结”一文中给出了明确解释。并且this只和特定的对象关联,而不和类关联,同一个类的不同对象有不同的this。下面给出一个使用this的综合实例,以便说明问题:package org.leizhimin;public class Test6 {private int number;private 阅读全文
posted @ 2011-10-27 17:55
发表是最好的记忆
阅读(1319)
评论(0)
推荐(0)
摘要:
int与integer的区别从大的方面来说就是基本数据类型与其包装类的区别:int 是基本类型,直接存数值,而integer是对象,用一个引用指向这个对象1.Java 中的数据类型分为基本数据类型和复杂数据类型int 是前者而integer 是后者(也就是一个类);因此在类进行初始化时int类的变量初始为0.而Integer的变量则初始化为null.2.初始化时: int i =1;Integer i= new Integer(1);(要把integer 当做一个类看);但由于有了自动装箱和拆箱 (http://www.cnblogs.com/shenliang123/archive/2... 阅读全文
posted @ 2011-10-27 17:53
发表是最好的记忆
阅读(131743)
评论(10)
推荐(24)
摘要:
response.sendredirect("http://www.foo.com/path/error.html"); 重定向和转发有一个重要的不同:当使用转发时,JSP容器将使用一个内部的方法来调用目标页面,新的页面继续处理同一个请求,而浏览器将不会知道这个过程。 与之相反,重定向方式的含义是第一个页面通知浏览器发送一个新的页面请求。因为,当你使用重定向时,浏览器中所显示的URL会变成新页面的URL, 而当使用转发时,该URL会保持不变。重定向的速度比转发慢,因为浏览器还得发出一个新的请求。同时,由于重定向方式产生了一个新的请求,所以经过一次重 定向后,request内 阅读全文
posted @ 2011-10-27 17:47
发表是最好的记忆
阅读(188098)
评论(18)
推荐(29)
摘要:
一、常量定义的基本注意事项。 在Java语言中,主要是利用final关键字(在Java类中灵活使用Static关键字)来定义常量。当常量被设定后,一般情况下就不允许再进行更改。如可以利用如下的形式来定义一个常量:final double PI=3.1315。在定义这个常量时,需要注意如下内容: 一是常量在定义的时候,就需要对常量进行初始化。也就是说,必须要在常量声明时对其进行初始化。这跟局部变量或者成员变量不同。当在常量定义的时候初始化过后,在应用程序中就无法再次对这个常量进行赋值。如果强行赋值的话,数据库会跳出错误信息,并拒绝接受这一个新的值。(接口中定义的常量的访问方法) 二是fin... 阅读全文
posted @ 2011-10-27 17:45
发表是最好的记忆
阅读(1122)
评论(0)
推荐(0)
摘要:
这样过滤:“你TMD,也太缺德了吧”过滤后“你***,也太缺德了吧”把骂人的脏话过滤成*号 package test; import java.util.HashMap; /** * maxLength-需要过滤最长字符串的长度 * filterStrs<string,string>-需要过滤字符串的集合,key为需要过滤字符串,value为过滤成的字符串如"*" * @author Administrator * */ public class Test{ private int maxLength; private HashMap<String,Str 阅读全文
posted @ 2011-10-27 17:43
发表是最好的记忆
阅读(7109)
评论(0)
推荐(1)
摘要:
1、内部类分为成员内部类、静态嵌套类、方法内部类、匿名内部类。几种内部类的共性:A、内部类仍然是一个独立的类,在编译之后会内部类会被编译成独立的.class文件,但是前面冠以外部类的类命和$符号。B、内部类不能用普通的方式访问。内部类是外部类的一个成员,因此内部类可以自由地访问外部类的成员变量,无论是否是private的。2、成员内部类:形式如下 class Outer { class Inner{} } 编译上述代码会产生两个文件:Outer.class和Outer$Inner.class。成员内部类内不允许有任何静态声明!下面代码不能通过编译。 class Inner{ static .. 阅读全文
posted @ 2011-10-27 17:42
发表是最好的记忆
阅读(804)
评论(0)
推荐(0)
浙公网安备 33010602011771号