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

自学Java系列 笔记2 Java类设计1

2015-09-01 22:22 197 查看
Java类的继承



子类继承了父类,就继承了父类的方法和属性。

在子类中,可以使用父类中定义的方法和属性,也可以创建新的数据和方法。

因而,子类通常比父类的功能更多

在Java
中,继承的关键字用的是“extends”,即子类不是父类的子集,而是对父类的“扩展”。

关于继承的规则:

子类不能继承父类中私有的(private)的成员变量和方法





访问控制

publicclass Person {



//仅在类的内部可以访问.

privateString email;

//在同一个包内该属性可以被访问.

Stringmajor;

//在子类中该属性可以被访问,
且该子类可以跨包

protectedint salary;

//访问权限最高,
无论是否在一个包内, 无论是否是子类都可以被访问.

publicString name;}






覆盖方法

在子类中可以根据需要对从父类中继承来的方法进行改造



覆盖方法(方法的重置、重写),在程序执行时,子类的方法将覆盖父类的方法。

覆盖方法必须和被覆盖方法具有相同的方法名称、参数列表和返回值类型。

覆盖方法不能使用比被覆盖方法更严格的访问权限。





关键字super


在Java类中使用super来引用父类的成分

super可用于访问父类中定义的属性

super可用于调用父类中定义的成员方法

super可用于在子类构造方法中调用父类的构造方法

super的追溯不仅限于直接父类

1.super:可以在子类中引用父类的成员,通过 . 的方式:方法和属性。和this 相对应。





构造方法不能继承




子类继承父类所有的成员变量和成员方法,但不继承父类的构造方法

在一个Java类中可以通过两种方式获得构造方法

1.使用系统默认的无参数构造方法

2.显式定义一个或多个构造方法

一旦显式定义了构造方法,则系统不再提供默认构造方法



调用父类构造方法



1、在子类的构造方法中可使用super(参数列表)语句调用父类的构造方法

2、如果子类的构造方法中没有显示地调用父类构造方法,也没有使用this关键字调用重载的其它构造方法,则系统默认调用父类无参数的构造方法

3、如果子类构造方法中既未显式调用父类构造方法,而父类中又没有无参的构造方法,则编译出错

注意:

一、 super(…)和this(…)调用语句不能同时在一个构造函数中出现

二、 super(…)或this(…)调用语句只能作为构造函数中的第一句出现
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: