J2SE
chenguanwei
这个作者很懒,什么都没留下…
展开
-
AWT 处理事件机制概要
AWT 处理事件机制概要 1、监听器对象是一个实现了特定监听接口(listener interface)的类的实例。2、事件源是一个能够注册监听器对象并发送事件对象的对象。3、当事件发生时,事件源将事件对象传递给所有注册的监听器。4、监听器对象将利用事件对象中的信息决定如何对事件做出响应。...2007-12-07 12:08:00 · 118 阅读 · 0 评论 -
String笔记
String是不可变对象。String类中每一个看似会修改String值的方法,实际上都是创建了一个全新的String对象。 不可变性会为String的+操作带来效率问题 String对象作为方法参数时,传递的是对象引用的一个拷贝。 打印对象可能造成的递归错误: 如果想通过toString方法打印对象的地址,并在toString方法中直接打印this对象,则当打印到this时又会调用当前对...原创 2009-08-03 17:17:50 · 148 阅读 · 0 评论 -
常用正则表达式
直接附上代码: import java.util.regex.Matcher; import java.util.regex.Pattern; import static org.junit.Assert.*; import org.junit.Test; public class RegexTest { /** * 检测邮箱 */ @Test pub...原创 2009-08-03 16:57:33 · 111 阅读 · 0 评论 -
String与StringBuilder的区别
String与StringBuilder最主要的区别体现在做字符串连接操作的效率上。 String使用重载运算符+或+=做字符串连接,有代码如下: public class Concatenation { public static void main(String[] args) { String str = "My"; String introduction = str +...原创 2009-08-03 14:56:01 · 93 阅读 · 0 评论 -
equals()与hashcode()方法
两个方法都来自Object。通常,比较两个对象是否相等时,我们需要重写equals()方法。hashcode方法主要作为集合类中判断对象是否重复的依据。 比如一个Point类,没有重写hashcode()方法。 public class Point { private int x; private int y; public Point(int x, int ...原创 2009-08-01 11:50:09 · 102 阅读 · 0 评论 -
override与overload
override和overload都是java多态的表现形式。 override即方法的覆写,主要表现形式为子类继承父类时重写父类的方法。子类的方法与父类的方法声明具有完全一致的形式,但是具体的方法实现不同。根据多态的性质,可以将子类声明为一个父类类型的变量,并通过父类变量来调用该方法。 overload即方法重载,主要表现形式为在同一个类中,多个方法的方法名称相同,但是参数个参数类型或是返回...原创 2009-07-31 19:02:38 · 96 阅读 · 0 评论 -
异常处理机制
当异常被抛出后,将使用new操作符在堆上创建异常对象。然后当前的执行路径被终止,并且从当前环境中弹出对异常对象的引用。此时异常处理机制接管程序,并开始寻找一个恰当的地方(异常处理程序)来执行程序,它的任务是将程序从错误状态中恢复,以使程序要么换一种方式运行,要么运行下去。 异常处理模型: 1、终止模型 2、恢复模型...原创 2009-07-31 15:55:09 · 98 阅读 · 0 评论 -
final关键字
final数据: 当数据为基本类型时,该数据属于编译期常量。在常量定义时就必须对其进行赋值,之后该常量的值不能再被改变。 当数据为引用类型时,一旦引用被初始化指向一个对象,就无法把它改为指向另一个对象。但是其指向的对象本身时可以修改的。 当数据为方法参数时,你无法在方法中更改参数值或是参数引用所指向的对象。 final方法: 被定义为final的方法不允许在子类中被覆盖 fin...原创 2009-07-30 09:49:44 · 102 阅读 · 0 评论 -
Math.round()
Math.round(double val)方法返回最接近的long类型值 val为正数时,如果小数点后数字小于5,则舍去;大于等于5,则进一位。 val为负数时,如果小数点后数字小于等于5,则舍去;大于5,则向后进一位 如 Math.round(11.5) = 12 Math.round(11.4) = 11 Math.round(-11.5) = -11 Math.roun...原创 2009-07-29 15:06:03 · 407 阅读 · 0 评论 -
Math.round()
Math.round(double val)方法返回最接近的long类型值 val为正数时,如果小数点后数字小于5,则舍去;大于等于5,则进一位。 val为负数时,如果小数点后数字小于等于5,则舍去;大于5,则向后进一位 如 Math.round(11.5) = 12 Math.round(11.4) = 11 Math.round(-11.5) = -11 Math.roun...原创 2009-07-29 15:05:29 · 213 阅读 · 0 评论 -
java基本类型
java中有9个基本类型 boolean,byte,short,int,long,char,float,double,void 为什么我总是会忘记void呢?原创 2009-07-29 14:09:51 · 116 阅读 · 0 评论 -
String s = new String("asdf")创建了几个String Object
答案是两个 程序开始运行的时候会首先创建一个常量字符串“asdf”并保存在常量池中,当执行new操作时,又会在堆中新建一个String Object,这仅仅是堆常量池中“asdf”串的一个拷贝。String s 只是声明了一个对象的引用,并没有创建String Object。因此,String s = new String("asdf")只创建了2个String Object。 如果下次再用到...原创 2009-07-29 13:57:57 · 694 阅读 · 0 评论 -
类的初始化
为了使用类需要3步工作: 1.加载。这是由类加载器执行的。该步骤将查找字节码,并从这些字节码创建一个Class对象。 2.链接。在链接阶段将验证类的字节码,为静态域分配存储空间,并且如果必需的话,还将解析这个类创建的对其他类的所有引用。 3.初始化。如果该类具有超类,则对其初始化,执行静态初始化器和静态初始化块。 初始化被延迟到了对静态方法或者非常数静态域进行首次引用时才执行。 看...原创 2009-08-04 19:27:38 · 135 阅读 · 0 评论