自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 Java内部类

内部类分为成员内部类、局部内部类、匿名内部类、静态嵌套类。   成员内部类 成员内部类,就是作为外部类的成员,可以直接使用外部类的所有成员和方法,即使是private的。同时外部类要访问内部类的所有成员变量/方法,则需要通过内部类的对象来获取。 对于普通的类,可用的修饰符有final、abstract、strictfp、public和默认的包访问。 但是成员内部类更像一个成员变量...

2012-02-09 14:10:21 82

原创 关于Java中的final

Java中的final共有三种用法:final成员变量 当你在类中定义变量时,在其前面加上final关键字,那便是说,这个变量一旦被初始化便不可改变,这里不可改变的意思对基本类型来说是其值不可变,而对于对象变量来说其引用不可再变,但引用变量所指向的对象中的内容还是可以改变的。 其初始化可以在三个地方, 一是其定义处,也就是说在final变量定义时直接给其赋值, 二是在构造函数中。而且在...

2012-02-09 13:29:47 73

原创 组合还是继承

对于类的扩展,在面向对象的编程过程中,我们首先想到的是类的继承,由子类继承父类,从而完成了对子类功能的扩展。但是,面向对象的原则告诉我们,对类的功能的扩展要多用组合,而少用继承。其中的原因有以下几点: 第一、子类对父类的继承是全部的公有和受保护的继承,这使得子类可能继承了对子类无用甚至有害的父类的方法。换句话说,子类只希望继承父类的一部分方法,怎么办? 第二、实际的对象千变万化,如果每...

2012-02-07 10:57:31 114

原创 Java中finalize()

垃圾回收器要回收对象的时候,首先要调用这个类的finalize方法(你可以 写程序验证这个结论),一般的纯Java编写的Class不需要重新覆盖这个方法,因为Object已经实现了一个默认的,除非我们要实现特殊的功能(这 里面涉及到很多东西,比如对象空间树等内容)。  不过用Java以外的代码编写的Class(比如JNI,C++的new方法分配的内存),垃圾回收器并不能对这些部分进行...

2012-02-06 17:31:49 93

原创 Java基本数据

数据类型 大小 范围 默认值 byte(字节) 8 -128 - 127 0 shot(短整型) 16 -32768 - 32768 0 int(整型) 32 -2147483648-2147483648 0 long(长整型) 64 -9233372036854477808-9233372036854477808 0 float(浮...

2012-02-06 09:56:08 137

原创 Java内存分配

一般Java在内存分配时会涉及到以下区域:   ◆寄存器:我们在程序中无法控制 ◆栈:存放基本类型的数据和对象的引用,但对象本身不存放在栈中,而是存放在堆中 ◆堆:存放用new产生的数据 ◆静态域:存放在对象中用static定义的静态成员 ◆常量池:存放常量 ◆非RAM存储:硬盘等永久存储空间...

2012-02-06 09:38:00 79

原创 clone使用

实现clone要有两个条件: 1. 覆盖clone()方法 2. 实现Cloneable接口   例子 package test; public class User implements Cloneable{ public int i = 1; @Override protected Object clone() throws CloneNotSuppor...

2012-02-03 14:27:41 100

原创 单元测试之我见

单元测试也写了不少,使用得最多的还是junit。   看到有人用easymock,jmockit等工具,但是我还是只用junit。   为什么这么固执呢。   我认为easymock,jmockit等工具是对不良代码进行单元测试时,不得不用的工具。 假如代码本身写得优雅,根本就不用这些辅助性的工具,junit足矣。   我崇尚简单,能不引入其他,就不引入。估计也是受其影响吧。...

2012-02-03 10:08:09 84

原创 System.arraycopy简介

public static native void arraycopy(Object src, int srcPos, Object dest, int destPos, int length);   src-源数组 srcP...

2012-02-03 09:54:36 75

原创 toArray用法

Java中toArray有两个方法。 public Object[] toArray() public <T> T[] toArray(T[] a) 两个问题: 1. 有什么区别? 2. 怎么使用?   区别是前者会产生ClassCastException,后者不会。为什么呢?   来看一下源代码。 public Object[] toArray() {...

2012-02-03 09:46:53 282

原创 从if/else到抽象

if/else多,让人看得心烦。if/else层次深,让人看得头痛。   怎样才能让代码优雅呢?   介绍一种方法。步骤如下: 1. 将if/else区块中逻辑抽象成接口。 2. 将各个if/else分支中的逻辑打散到实现类中。 3. 使用工厂模式,将不同的条件路由到实现类中。   假如有如下代码: if (cond == 1) { do business 1 } ...

2012-01-17 09:59:22 376

原创 从代码保护说开去

刚在网上查了查“代码保护”,说的是公司代码,怕被员工偷走的事情。   我这里说的“代码保护”,说的不是这回事。说的是我在做项目过程中,经常写的如下的代码。   if (list != null && !list.isEmpty()) { ... } if (s != null && !s.equals("")...

2012-01-06 11:05:45 170

原创 bug该给谁?

有IT行业,就有IT公司。有IT公司,就有IT项目。有IT项目,就有项目组长和项目组员。   项目组长的工作一般是指定项目整体架构,划分项目给相应的组员。 因此,项目组员的工作是做需求、改bug。   一个项目做得是否成功,在项目结束后问大家一个问题便可知晓。“大家是否还想合作”?假如不是所有人都异口同声地说“愿意”,那做项目的过程中,肯定出现了问题。   这其中可能出现的问题肯定是...

2012-01-05 17:22:47 483

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除