类与对象
desktable
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
什么是java序列化,如何实现java序列化?
Java 串行化技术可以使你将一个对象的状态写入一个Byte 流里,并且可以从其它地方把该Byte 流里的数据读出来,重新构造一个相同的对象。这种机制允许你将对象通过网络进行传播,并可以随时把对象持久化到数据库、文件等系统里。Java的串行化机制是RMI、EJB等技术的技术基础。用途:利用对象的串行化实现保存应用程序的当前工作状态,下次再启动的时候将自动地恢复到上次执行的状态。序列化就是一种用转载 2014-01-16 10:34:47 · 399 阅读 · 0 评论 -
继承时类的构造函数?
当一个类继承另一个类的时候,它调用构造函数,一般是先调用被继承那个类的构造函数,如果父类中没有带参数的构造函数的话,子类会调用默认的构造函数;如果你的父类有带参数的构造函数的话,这个带参数的构造函数就会覆盖默认的构造函数,这样,你的子类就必须会去调用带有参数的父类的构造函数。派生类必须调用基类的构造函数,但不继承基类的构造函数,实际上不继承是句废话,因为构造函数不能通过类的实例来调用。任何一个转载 2014-01-16 11:47:18 · 826 阅读 · 0 评论 -
java中创建对象的方法
有4种显式地创建对象的方式:1.用new语句创建对象,这是最常用的创建对象的方式。2.运用反射手段,调用java.lang.Class或者java.lang.reflect.Constructor类的newInstance()实例方法。3.调用对象的clone()方法。4.运用反序列化手段,调用java.io.ObjectInputStream对象的readObject()方法转载 2014-01-16 11:42:39 · 503 阅读 · 0 评论 -
写clone()方法时,通常都有一行代码,是什么?
在实际编程过程中,我们常常要遇到这种情况:有一个对象A,在某一时刻A中已经包含了一些有效值,此时可能会需要一个和A完全相同新对象B,并且此后对B任何改动都不会影响到A中的值,也就是说,A与B是两个独立的对象,但B的初始值是由A对象确定的。Clone 有缺省行为,super.clone();他负责产生正确大小的空间,并逐位复制。使用clone()来复制一个对象,clone()从Object类继承。所转载 2014-01-16 11:34:24 · 1109 阅读 · 0 评论 -
反射机制
反射机制最重要的部分是准许你检查类的结构。java.lang.reflect包中的三个类Field、Method、Constructor相应的描述了一个类的字段、方法、构造函数。使用这些类的时候必须要遵循下面步骤:第一步是获得你想操作的类的 java.lang.Class 对象。下面就是获得一个 Class 对象的方法之一:Class c = Class.forName("java.lang.转载 2014-01-16 11:25:01 · 438 阅读 · 0 评论 -
多重继承有什么缺陷
在《设计模式》一书中,作者在开篇中就提出了面向对象的两条基本设计原则:1、多对接口编程,少对实现编程。2、多使用聚合,少使用继承。继承的过多使用当然会带来高耦合,当然聚合的过分会使模块过多。多重继承指的是一个类别可以同时从多于一个父类继承行为与特征的功能,是一种图状层次结构(有向无环图)。功能强大,但易引起二义性,占用内存比较多。有时多重继承会出现二义性,比如class A{转载 2014-01-16 11:46:26 · 1560 阅读 · 0 评论 -
Object类中的方法
public class Object{public Object();//7个公共实例方法public boolean equals(Object obj);// 用来比较以参数传递过来的对象和当前对象是否相等(必须是同一对象,才算相等。而在String中使用equals()方法时,只要字符串一样就算时相等,不要求是同一字符串的不同引用,只有用String类中“==”运算符时,才比较转载 2014-01-16 11:45:20 · 436 阅读 · 0 评论 -
equals与hashcode
例:两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对?不对,有相同的hash code。首先equals()和hashcode()这两个方法都是从object类中继承过来的。equals()方法在object类中定义如下:public boolean equals(Object obj) {return (this == ob转载 2014-01-16 11:44:07 · 333 阅读 · 0 评论 -
对象创建过程/初始化顺序
Java虚拟机创建一个对象都包含以下步骤。(1)给对象分配内存。(2)将对象的实例变量自动初始化为其变量类型的默认值。(3)初始化对象,给实例变量赋予正确的初始值。 对于以上第三个步骤,Java虚拟机可采用3种方式来初始化对象,到底采用何种初始化方式取决于创建对象的方式。(1)如果对象是通过clone()方法创建的,那么Java虚拟机把原来被克隆对象的实例变量的值拷贝到新对象转载 2014-01-16 11:30:56 · 433 阅读 · 0 评论
分享