码迷,mamicode.com
首页 > 编程语言 > 详细

JAVA继承

时间:2015-04-12 14:39:18      阅读:121      评论:0      收藏:0      [点我收藏+]

标签:

      继承是面向对象编程中最重要的特征之一。在面向对象编程中,可以通过扩展一个已有的类,并继承该类的属性和行为,来创建一个新的类,这种方式被称为继承。已有的类称为父类,而新类称为子类。父类也可以称为基类、超类,子类也可以称为派生类。

       使用继承不仅可以重用已有的代码,从而避免代码重复,还可以创建一个更容易维护和修改代码的程序。

       在Java中,一个类使用关键字extends继承其它类。关键字extends出现在类声明时的类名后,extends后面跟要继承的类的名称。

       继承的单根性,传递性(单继承与多继承)某些OOP语言(例如:C++)允许子类有多个父类,但在Java中,一个类只能有一个父类。

       所有类的根类Object,Java语言API中包含一个名为Object的特殊类,是整个Java类层次中的根类。Object在Java.lang包中,是每个Java类的父类,要么是直接父类,要么是间接父类。

       Object类中的方法签名:

public final  Class  getClass()    (类的信息保存在一个Class对象中)

public int hashCode()(该方法返回对象的哈希值码,如果两个对象是相等的,那么他们必须产生相同的哈希码。如果一个类重写了equals()方法,通常也需要重写hashCode()方法)

public boolean equals(Object x) (使用该方法可以检测两个对象是否相等)

protected Object clone throws  CloneNotSupportedException  (clone()方法用于创建对象的一份拷贝)

public String toString       (该方法返回对象的字符串表示)

protected void finalize() throws Throwable      (该方法在对象将要被垃圾回收时调用)

public final void wait()throws InterruptedException     (在Object类中,wait()方法还有其它两个重载版本,wait()方法将导致当前线程停止执行,直到其他线程在相同对象上调用notify()方法为止。wait()和notify()用于线程同步)

public final void notify()  (该方法用于重启在对象上调用wait()方法时被阻塞的任何线程)

      

   方法重写(在子类写):

  当子类重写父类的方法时,必须遵循以下规则:

1、子类方法的返回值类型、方法名和形式参数列表,必须和父类中相一致。

2、访问修饰符必须不小于父类中的访问修饰符

3、子类中重写的异常不能抛出比父类更多的异常

       super关键字:(一个类可以用super来显式地引用从父类继承的成员变量或方法,可以把super看作子对象对父对象的引用)super用于调用父类的构造器(super())

    <构造方法不能被继承,只能被调用;public,protected才能被继承>

       final关键字:一个类可以声明为最终类,但最终类不能被继承(不能有子类);一个方法可以声明为最终方法,但最终方法不能被重写。

       abstract关键字(抽象):

  abstract修饰类和方法,抽象类不能被实例化,必须由子类来实现(除非抽象方法是子类)

  public abstract class Test{}

  抽象方法没有方法主体(方法主体实现没有意义,抽象方法在抽象类中)

  public abstract void shout();

      

JAVA继承

标签:

原文地址:http://www.cnblogs.com/h1234566789/p/4419465.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!