继承

一:什么是继承

在面向对象编程中,可以通过扩展一个已有的类,并继承该类的属性和行为,来创建一个新的类,这种方式称为继承。 
二:如何判断类具有继承关系
类与类的关系:
1、has-a(组合)
2、is-a(继承)

各个子类里的相同特征和行为已经被放在了父类里,一般不需要再实现了.我们只需要在子类里实现它们的不同之处

三:继承中的实现

Java中继承的实现非常简单:extends
四:继承的优点
1.代码的可重用性
2.子类可以扩展父类的属性和方法
3.父类的属性和方法可用于子类
4.设计应用程序变得更加简单
五:所有类的根类都是Object
Øpublic final Class getClass();
Øpublic int hashCode();
Øpublic boolean equals(Object x);
Øprotected Object clone() throws CloneNotSupportedException;
Øpublic String toString();
Øprotected void finalize() throws Throwable;
Øpublic final void wait() throws InterruptedException;
Øpublic final void notify();
六:方法的重写
子类可以重写从父类继承的方法,从而允许子类添加或者改变父类中方法的行为。这称为方法重写,是OOP的特征之一。 

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

子类的方法的返回值的类型、方法名和形式参数列表,必须和父类中的是相同的。如果子类中的方法与父类中的方法同名,
但是子类的方法改变了形式参数列表,那么这是方法重载,而不是方法重写。不要混淆这两个概念,二者的用法是完全不同的。
访问修饰符必须不小于父类中的访问修饰符。例如,如果父类的方法是public,那么子类的必须是public。如果父类的方法是protected,
那么子类必须是protected或public(public比protected访问权更大)。
子类中重写的异常不能抛出比父类更多的异常,其原因我们将在后面异常处理一章中讲解。 
七:方法重写与方法重载的区别
方法的重写:子类中的方法与父类中的方法相同(方法名称、参数列表、返回类型)
方法重载:一个类中的方法与另一个方法相同,参数列表不同
重写体现的是父类与子类方法之间的关系;重载体现的是一个类的内部方法之间的关系。
八:构造方法与继承
不象一个超类的成员,超类的构造方法不能被它的子类继承.
你必须为一个子类定义构造方法,或者使用缺省的构造方法.
九:super关键字
psuper的两种用法:

1、super.***或super.***()代表每个类中指向父类对象部分的引用

2、super()代表调用父类中指定的构造器。 

注意:

  super()只能放在构造器的第一句!

先调用父类构造方法,再调用子类构造方法

要调用父类构造方法,使用关键字 super

子类构造方法的名称与类的名称相同

十:final关键字

public final class Test{

 

}

本类使用final修饰符修饰,表示不可以有继承的子类,所以称为终态类。

1.变量不能修改

2.类不可被继承

3.方法不能被重写

 

 

 

posted @ 2016-05-29 14:01  macro鹏  阅读(180)  评论(0编辑  收藏  举报