您的位置:首页 > 编程语言 > Java开发

java基础面向对象继承和多态

2014-10-20 10:52 204 查看
继承(掌握)

(1)继承:在java中,我们在定义一个类的时候,可以不用全部定义类中的内容,

通过继承把其他类的非私有功能可以直接拥有。(了解)

(2)父类:被继承的类。(超类,基类)(了解)

子类:继承其他类的类。(派生类)

(3)继承的好处:(掌握)

A:提高代码的复用性。

B:让类与类之间产生了关系,是多态的前提。

(4)使用继承:(掌握)

格式:

class 类A extends 类B{}
什么使用时候继承呢?

假设判断法。

继承是:"is a"的关系 "x is a y"

(5)特点:(掌握)

A:java只支持单继承

B:java可以支持多重(层)继承

(6)研究的是继承的成员关系:

A:成员变量

在子类中使用一个变量的时候:

首先在局部范围内找,如果有就使用。

否则,在子类中找,如果有就使用。

否则,在父类中找,如果有就使用。

否则,就报错。
this和super的区别?

this():表示调用本类的构造方法

super():表示调用父类的构造方法
this.成员变量:表示调用本类的成员变量

super.成员变量:表示调用父类的成员变量
this.成员方法:表示调用本类的成员方法

super.成员方法:表示调用父类的成员方法
最常见的用法:

this用于区分局部变量和成员变量

super用于区分子类和父类相同名称的变量

B:成员方法

在子类中使用一个方法的时候:

首先,在子类中找,如果有就使用。

否则,在父类中找,如果有就使用。

否则,就报错。
子父类同名的方法,在java中被称为方法重写。

要求:方法声明相同。

子类的修饰符权限要大于等于父类的权限。

不能重写父类的私有方法。
重写和重载的区别?(面试题)

相同点:多个类中的方法名要一样,修饰符要一样,

区别:级别差异 重写有父子类 类和类之间

重载是类中的多个方法,属于平级关系,

用法 重写用在继承和多态

重载用在封装方法中

重写是父类和子类的方法名一样,

重载是多个方法名一样,完成功能一样,参数类型和参数长度不用
C:构造方法

在创建子类对象的时候,会去创建父类的对象。

因为在子类的构造方法中,默认第一条语句有一个super()。
假如父类没有无参构造,那么怎么解决呢?

a:通过super调用父类的其他构造

b:通过this调用本类的其他构造。

一般我建议把无参构造方法自己给出。

(7)综合案例

ExtendsTest自己在分析一遍。
2:final关键字(掌握)

(1)final是最终的意思,可以用于修饰类,修饰方法,修饰变量

(2)特点:(掌握)

它修饰的类不能被继承

它修饰的方法不能被重写

它修饰的变量是常量

(3)什么时候用?

那得看你不想让别人做什么。视情况而定。
3:多态(重点)

(1)多态:就是对象在不同时刻代表的不同状态。

举例:

水(水蒸气,水,冰)

(2)多态的前提:(重点)

A:有继承关系

B:有方法的重写

C:有父类引用指向子类对象
举例:

class Fu{ public void show(){sop("Fu")} }
class Zi extends Fu{ public void show(){sop("zi")} }
多态:

Fu f = new Zi();

(3)多态的好处:(重点)

A:提高了代码的后期的维护性

B:提高了代码的后期的扩展性
弊端:只能使用父类中定义过的方法。子类特有方法不能使用。

(4)多态研究的内容(对象):(重点)

A:成员变量:

编译看左边,执行看左边
B:成员方法:

编译看左边,执行看右边
C:静态修饰成员:

编译看左边,执行看左边
注意:跟对象无关,也可以说不能算作多态的内容。

静态修饰的东西。
向上转型:为了多态使用对象

向下转型:为了使用对象的特殊功能
举例:

孔子爹:

年龄:40

功能:教书("JavaSE")

孔子:

年龄:20

功能:教书("论语")

玩游戏();
想符合多态:

孔子爹 k爹 = new 孔子(); //多态,向上转型。穿上爹的衣服,带上爹的眼镜。装爹。
sop(k爹.age); //40

k爹.教书(); //论语

//k爹.玩游戏(); //报错
//下班了

孔子 k = (孔子)k爹; //回家了,脱去爹的衣服,摘下眼镜,回到自己。向先转型。

k.教书(); //论语

k.玩游戏();

sop(k.age); //20

我们在分析和实际写出的时候,到底是先写父还是先写子。

分析:

通过子类不断的向上抽取,抽取共性的东西。

实际写:

先写父,在写子。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐