- 浏览: 7667 次
- 性别:
- 来自: 杭州
最近访客 更多访客>>
最新评论
-
ialand:
sdh5724 写道说白了 new XXX[n], 如果是XX ...
判断一个char数组是否真正的对象 -
sdh5724:
说白了 new XXX[n], 如果是XXX是对象, 那么就数 ...
判断一个char数组是否真正的对象 -
子排牛柳:
说的 不错
多形性(多态)
文章列表
今天遇到一个关于spring bean注入的很奇怪的问题,我有一个方法,这个方法有两个过程,这两个过程都会使用到同一个bean,这个bean是在spring中配置的,在执行第一个过程的时候,完全没有问题,这个bean是正常的,但是当执行到第二个过程的时候,这个bean就为null了,经过调试发现,这个bean只在最开始的时候被spring set过一次,其它地方也没有对它进行set操作,但是为什么运行到第二个过程的时候它就为null了呢?
我自己找到原因了,原来是两次调用的方式不同,下面举例说明一下:
有两个类A和B,B是A的子类,如下:
public class A{
priva ...
- 2009-08-13 12:25
- 浏览 1034
- 评论(0)
今天在写一个测试,使用unitils框架的DataSet来准备数据,其内部是包装的DBunit来实现的,我所遇到的问题非常奇怪。开始时,由于只写了一个测试方法,所以把DataSet标签打在了类级别上,运行的时候一切正常。后来新增了几个方法,每个方法需要用到不同的测试数据,于是把类级别的DataSet迁移到了最初的第一个测试方法上,然后再为新增的测试分别使用DataSet准备数据,这个时候在数据加载的时候DBUnit总会报AmbiguousTableNameException,一开始以为是表名没有写对,于是逐一去检查了一遍,表名都是正确的,后来在网上搜了一下,有可能是数据库的schema不对,但是 ...
这是thinking in java上的一道练习题,觉得有点意思,下面是我的实现方法,不知对否,忘各位过客多多指点:
package chapter11.exercise4;
import java.lang.reflect.Constructor;
/**
* 写一个程序,判断一个Char数组属于基本数据类型,还是一个真正的对象
*
*/
class C{
//this is a class with default constructor
}
public class ObjectChecker {
/**
* 如果是一个真正的对象,那么就 ...
- 2009-01-15 10:59
- 浏览 1239
- 评论(2)
按照中国大陆地区的翻译,这应该叫“多态”,不过站在一个初学者的角度,我更喜欢台湾人“多形性”的译法。因为“多态”这个名词显得过于专业,给人生涩和抽象的感觉,不好理解,而“多形性”这一说法,再加上“ ...
- 2009-01-07 11:36
- 浏览 1052
- 评论(1)
封装——以不变应万变
- 博客分类:
- 初来乍道
如题,个人感觉封装的思想可以总结如此。在结构化的程序设计中往往没有封装的概念,或者封装的概念很弱且不明确。没有封装就没有隔离,没有隔离就可以随意访问,于是客户代码与库代码之间产生了高度的耦合关系,此时只要更改库代码中的很小一部分东西,很可能造成客户代码不得不做相应的改变以适应库的更改,由于库代码中被修改的这个小部分东西可能被客户代码所广泛使用,因此这样的修改对于客户代码来说有可能是相当悲惨的,因为你不得不修改所有使用了该部分库代码的地方,正所谓牵一发而动全身,这在程序设计中应该是我们最不愿意看到的结果了。
封装的思想就恰好解决了这个问题,它将大量的实现细节隐藏起来,不让客户程序直 ...
- 2009-01-04 16:21
- 浏览 629
- 评论(0)
1.垃圾收集器的存在只有一个目的,释放不再被使用的内存空间;
2.垃圾收集器只能释放对象所占据的空间(new 出来的空间),虽然在java中,一切都是对象,但是我们仍然可以在java中使用非java风格代码来分配一些特殊的内存空间来做一些特殊的事情,例如c中的malloc(),这类内存空间的释放需要在相应对象的finalize()方法中采取相应的方法来释放内存,比如与malloc对应的free(),当该对象不在被使用时,垃圾收集器在执行该对象的清除之前将首先调用该对象的finalize()方法来释放这类特殊内存,之后再执行对象的清除。
3.垃圾收集在何时会发生是不可预知的,即使我们在程序中显示调 ...
- 2009-01-04 11:22
- 浏览 538
- 评论(0)
以前一直对对象这个概念感到很困惑,虽然知道比如像汽车、轮船这样的东西是对象,但也不能理解面向对象的程序设计究竟是怎么回事。后来偶然间听到一句话,让我有茅塞顿开的感觉:对象调方法,方法改属性。虽然很简单的一句话,但却揭示了以对象为程序设计单元的本质。一个对象无非就是具有自己的行为和属性。在不同情况下对象会启动自己相应的行为去改变自己对应的属性以对它所接收到的信息作出恰当的反应,这便是面向对象的程序设计思想。作为一个初学者,虽然不知道这样的描述对不对,但至少这对对象的理解是有帮助的,欢迎各位大侠来砸砖。
- 2008-12-30 22:34
- 浏览 682
- 评论(0)
在Java语言中, abstract class 和interface 是支持抽象类定义的两种机制。正是由于这两种机制的存在,才赋予了Java强大的 面向对象能力。abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替换,因此很多开发者在进行抽象类定义时对于 abstract class和interface的选择显得比较随意。其实,两者之间还是有很大的区别的,对于它们的选择甚至反映出对于问题领域本质的理解、对于设计意图的理解是否正确、合理。本文将对它们之间的区别进行一番剖析,试图给开发者提供一个在二者之间进行选择的依据。
理解抽象类
...
- 2008-12-30 20:50
- 浏览 413
- 评论(0)
关于文件io的一个问题
- 博客分类:
- 初来乍道
public static void main(String[] args) {
try {
long starttime = System.currentTimeMillis();
System.out.print("文件操作开始时间:" + starttime + "\n");
File origfile = new File("src\\resources\\Sunset.jpg");
FileInputStream fw = new FileInputStream(origfi ...
- 2008-12-30 11:20
- 浏览 618
- 评论(0)
字符流处理的单元为2个字节的Unicode字符,分别操作字符、字符数组或字符串,而字节流处理单元为1个字节,操作字节和字节数组。所以字符流是由Java虚拟机将字节转化为2个字节的Unicode字符为单位的字符而成的,所以它对多国语言支持性比较好!如果是音频文件、图片、歌曲,就用字节流好点,如果是关系到中文(文本)的,用字符流好点。
- 2008-12-29 21:12
- 浏览 699
- 评论(0)