听雨轩

不论你在什么时候开始,重要的是开始之后就不要停止。 不论你在什么时候结束,重要的是结束之后就不要悔恨。

统计

留言簿(3)

阅读排行榜

评论排行榜

clone方法、继承、抽象方法、编译时的多态性和运行时的多态性

使用对象克隆时要注意,首先要检查该对象是否可以克隆,即该对象是否实现了 Cloneable 接口,如果该对象实现了这个接口,则该对象可以被克隆,否则将抛出一个 CloneNotSupportException

Object 类中有一个 clone ()方法,但是该类没有实现 Cloneable 接口,所以如果一个 Object 对象直接使用 clone ()方法,将会抛出异常。 Object 的子类如果希望实现克隆,需要实现 Cloneable 接口。在实现接口中的 clone ()方法时,可以直接调用 Object 中的克隆方法,即使用 super.clone ()语句。

在类的继承中,如果子类中的变量或方法覆盖了父类中的变量或方法,其父类的变量和方法还是存在于内存中的,在子类中可以使用 super 关键字进行访问。

Java 中,用 abstract 关键字修饰不能在类内实现的方法,这样的方法称为抽象方法,含有抽象方法的类也必须声明为 abstract ,这样的类叫做抽象类。抽象类中不一定包含抽象方法,但是包含抽象方法的类一定要声明为抽象类。抽象类本身不具备实际的功能,只能用于派生子类,而定义为抽象的方法必须在子类派生时重载。如果一个类被定义为抽象类,则该类不能进行实例化,必须通过重载的方式来实现抽象类中的方法。

编译时多态 是通过方法的重载来实现的:即用相同的名字在类中定义不同的方法,根据参数的个数、类型和返回值类型来加以区分。而运行时多态是通过类继承的方法重写实现的:子类对象可以作为父类对象来使用,因为子类通过继承具备了父类的所有属性,在程序中凡是可以使用父类对象的地方,都可以使用子类对象来代替。对于重写的方法, Java 会根据调用该方法的实例的类型来决定选择哪个方法。对子类的实例,如果子类重写了父类的方法,则运行时系统调用子类的方法,如果子类没有重写该方法,则调用父类的方法。因此,一个父类对象可以通过引用子类的实例来调用子类的方法。

 

posted on 2006-10-01 14:30 Winnie 阅读(1566) 评论(0)  编辑  收藏 所属分类: java基础知识


只有注册用户登录后才能发表评论。


网站导航: