第10章 接口、继承与多态 Object类

在Java中,所有的类都直接或间接继承了java.lang.Object类。Object类是比较特殊的类,它是所有类的父类,是Java类层中的最高层类。当创建一个类时,总是在继承,除非某个类已经指定要从其他类继承,否则它就是从Java.lang.Object类继承而来。

Java中的每个类都源于java.lang.Object类,如:String、Integer等都是继承于Object类,除此之外自定义的类也都继承于Object类,由于所有类都是Object子类,所以在定义类时,省略了extends Object关键字。

在Object类中主要包括clone()、finalize()、equals()、toString()等方法,其中最常用的两个方法equals()和toString()方法。由于所有的类都是Object类的子类,所以任何类都可以重写Object类中的方法;getClass()、notify()、notifyAll()、wait()等方法不能被重写,因为这些方法被定义为final类型。

时间: 2024-10-17 15:37:18

第10章 接口、继承与多态 Object类的相关文章

第10章 接口、继承与多态 抽象类和接口

一.抽象类 在解决实际问题时,一般将父类定义为抽象类,需要使用这个父类进行继承与多态处理.回想继承和多态原理,继承树中越是在上方的类越抽象,如:鸽子类继承鸟类.鸟类继承动物类等.在多态机制中,并不需要将父类初始化对象,我们需要的只是子类对象,所以在Java语言中设置抽象类不可以实例化对象,因为图形类不能抽象出任何一种具体图像,但它的子类却可以. 抽象类的语法如下:使用abstract关键字定义的类称为抽象类,而使用这个关键字定义的方法称为抽象方法,抽象方法没有方法体,这个方法本身没有任何意义,除

Java 继承、多态与类的复用

摘要: 本文结合Java的类的复用对面向对象两大特征继承和多态进行了全面的介绍. 首先,我们介绍了继承的实质和意义,并探讨了继承,组合和代理在类的复用方面的异同.紧接着,我们依据继承引入了多态.介绍了它的实现机制和详细应用.此外,为了更好地理解继承和多态.我们对final关键字进行了全面的介绍. 在此基础上.我们介绍了Java中类的载入及初始化顺序.最后.我们对面向对象设计中三个十分重要的概念–重载.覆盖与隐藏进行了详细的说明. 要点: 继承 组合,继承,代理 多态 final 关键字 类载入及

第10章 接口、继承与多态 多态

利用多态可以使程序具有良好的扩展性,并可以对所有类对象进行通用的处理. 如果定义一个四边形类,让它处理所有继承该类的对象,根据“向上转型”原则可以使每个继承四边形类的对象作为draw()方法的参数,然后在draw()方法中做一些限定就可以根据不同图形类对象绘制相应的图像,从而更为通用的四边形类来取代具体的正方形类和平行四边形类.这样处理能够很好地解决代码冗余问题,同时也易于维护,因为可以加入任何继承父类的子类对象,而父类方法也无需修改. package ten; public class Qua

第10章 接口、继承与多态 对象类型的转换

向上转型: 将子类对象看作是父类对象: 解释:平行四边形是四边形的一种,那么就可以将平行四边形对象看作是一个四边形对象.例如:鸡是家禽的一种,而家禽是动物中的一类,那么也可以将鸡对象看作是一个动物对象. package ten; class Quadrange{//四边形类 public static void draw(Quadrange q){//四边形类中的方法 } } public class Parallelogram extends Quadrange{//平行四边形类,继承了四边形

第10章 接口、继承与多态 类的继承

1Test2类继承Test类,在子类中可以连同初始化父类构造方法来完成子类初始化操作,既可以在子类的构造方法中使用super()语句调用父类的构造方法,也可以在子类中使用super关键字调用父类的成员方法等,但是子类没有权限调用父类中被修饰为private的方法,只可以调用父类中修饰为public或protected的成员方法等. 2继承并不只是扩展父类的功能,还可以重写父类的成员方法.重写(还可以称为覆盖)就是在子类中将父类的成员方法的名称保留,重写成员方法的实现内容,更改成员方法的存储权限,

第10章 接口、继承与多态

10.1 package tex; public abstract class one { abstract void test(); public static void main(String args[]) { new one(); } } //无法实例化 原文地址:https://www.cnblogs.com/comicfuji/p/9825678.html

第10章 接口、继承与多态 类的继承3

尝试创建一个父类,在父类中创建两个方法,在子类中创建覆盖第二个方法,为子类创建一个对象,将向上转型到基类并调用这个方法 class Testmain{ public static void method1(Testmain q){ System.out.println(1); } public static void method2(){ System.out.println(2); } } public class Test extends Testmain { public static v

第10章 接口、继承与多态 类的继承2

在Java中一切都以对象的形式进行处理. 1)实例化子类对象时首先要实例化父类对象,然后再实例化子类对象,所以在子类构造方法访问父类的构造方法之前,父类已经完成实例化操作: 2)在实例化子类对象时,父类无参构造方法将被自动调用,但有参构造方法并不能被自动调用,只能依赖于super关键字显式地调用父类的构造方法. package ten; class Parent { Parent(){ System.out.println("调用父类的parent()构造方法"); } } class

第10章 接口、继承与多态 方法的重载

方法的重载就是在同一个类中允许同时存在一个以上的同名方法,只要这些方法的参数个数或类型不同. 举个例子,就拿String类的valueOf方法,它的参数可以使用多种,重载了它就可以使用相同的方法名不同的参数,如果不用重载你就得为每种参数的方法取一个名字,比如叫valueOf1,valueOf2....这样人家在调用你写的api的时候会觉得很不方便.