摘要: 一、百度知道有人提问http://zhidao.baidu.com/question/59472152“java为什么要定义接口,“当一个类实现一个借口时,它必须实现接口中定义的所有方法”。这个是教材上面说的,那么为什么要定义一个接口呢,所有的方法不都是在类中实现的吗,只不过在类中把接口中的方法头部照抄一遍罢了?意思就是为什么要用类去实现只有方法头部而没有方法体(一个空壳)的接口”回答1.1接口的作用是实现多重继承 因为只能继承一个类(规定的)2 LZ的意思是接口定义的方法,在实现它的子类中有了,不是重写了吗?它存在的意思是抽象出来了。类似于目录吧!让人更清晰!回答2.建议你看一看api帮助. 阅读全文
posted @ 2013-05-26 15:26 ~风~ 阅读(5359) 评论(0) 推荐(0) 编辑
摘要: 类通过实现 java.io.Serializable 接口以启用其序列化功能。未实现此接口的类将无法使其任何状态序列化或反序列化。可序列化类的所有子类型本身都是可序列化的。序列化接口没有方法或字段,仅用于标识可序列化的语义。 Java的"对象序列化"能让你将一个实现了Serializable接口的对象转换成一组byte,这样日后要用这个对象时候,你就能把这些byte数据恢复出来,并据此重新构建那个对象了。 要想序列化对象,你必须先创建一个OutputStream,然后把它嵌进ObjectOutputStream。这时,你就能用writeObject( )方法把对象写入Out 阅读全文
posted @ 2013-05-26 13:27 ~风~ 阅读(137) 评论(0) 推荐(0) 编辑
摘要: Volatile修饰的成员变量在每次被线程访问时,都强迫从主内存中重读该成员变量的值。而且,当成员变量发生变化时,强迫线程将变化值回写到主内存。这样在任何时刻,两个不同的线程总是看到某个成员变量的同一个值。Java语言规范中指出:为了获得最佳速度,允许线程保存共享成员变量的私有拷贝,而且只当线程进入或者离开同步代码块时才与共享成员变量的原始值对比。这样当多个线程同时与某个对象交互时,就必须要注意到要让线程及时的得到共享成员变量的变化。而volatile关键字就是提示VM:对于这个成员变量不能保存它的私有拷贝,而应直接与共享成员变量交互。使用建议:在两个或者更多的线程访问的成员变量上使用vol. 阅读全文
posted @ 2013-05-26 13:20 ~风~ 阅读(170) 评论(0) 推荐(0) 编辑