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

java学习笔记(六)继承

时间:2015-04-25 22:28:03      阅读:175      评论:0      收藏:0      [点我收藏+]

标签:

继承是面向对象编程中最重要的特征之一,它允许通过继承一个已经存在的类,来编写一个新类。已有的类称为父类,也可以称为基类,超类,新类称为子类也称为派生类。

继承使用关键字extends,用在类名之后,例:public void class salary extends Employee(){

}

子类salary 继承父类Employee

java中的类只能继承一个类。

子类能继承父类中用public protected 修饰的成员。

继承的单根性(单继承):一个java类只能有一个父类。

继承的传递性(多继承):一个java类可以有父类,父类也可以有父类,以此类推。

继承的优点:1.代码的可重用性;2.父类的方法和属性可用于子类;3.使设计应用程序更加简单;4.子类可以扩展父类的属性和方法。

构造方法不能被继承。

所有类的根类都是Object类,如果一个类没有显示的继承另一个类,那么它的父类就是java.lang.Object。Object类中的方法签名:

1.public final Class getClass():使用该方法可以得到我们调用方法的对象的class对象的引用。

2.public int hashCode():该方法返回对象的哈希码值,当使用哈希表以及使用哈希的其它数据结构时,可以用到该方法。

3.public boolean equals(Object x):检测两个对象是否相等。

4.protected Object clone():用于创建对象的一份拷贝,会抛出异常:CloneNotSupportedException.

5.public String toString():返回对象的字符串表示。

6.pritected void finalize():在对象将要被垃圾回收的时候调用,会抛出异常:Throwable

7.public final void wait():在Object类中,该方法还有两个重载的方法,在一个对象上调用将导致当前线程停止执行,直到其它线程在对象上调用notify()为止。wait()和notify()用于线程同步。

8.public final void notify():在Object类中还有一个notifyAll()方法。这些方法用于重启在对象上调用wait()方法时被阻塞的任何线程。

方法重写:子类可以重写从父类继承的方法,从而允许子类添加或者改变父类中方法的行为。

重写规则:(1).子类的方法的返回值的类型、方法名和形式参数列表,必须和父类中的是相同的。

(2).访问修饰符必须不小于父类中的访问修饰符。例:如果父类的方法的访问修饰符是public,子类的必须是public;如果父类的是protected,子类的必须是public或protected.

(3).子类中重写的异常不能抛出比父类更多的异常。

用equals()方法比较两个对象是否相同:如果两个对象是相等的,那么它们必须产生相同的哈希码。因此,如果一个类重写了equals()方法,通常也需要重写hashCode()方法。比较运算符“==”用于检测是否两个引用指向同一对象。

方法重写是父类与子类之间的关系,方法重载是类的内部方法之间的关系。

关键字super:子类想要给继承的方法添加行为,但是并不是完全替换父类的方法。在这种情况下,可以使用super来调用父类中重写的方法。

子类中调用父类的构造器:super(参数名);必须写在方法中的第一条语句。默认情况下,子类构造器调用父类的无参构造器。

关键字final:修饰类,这个类不能被继承,没有子类;修饰方法,这个方法不能被重写;修饰变量,值不能被改变。

java学习笔记(六)继承

标签:

原文地址:http://www.cnblogs.com/fping/p/4452078.html

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