自学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(…)调用语句只能作为构造函数中的第一句出现
子类继承了父类,就继承了父类的方法和属性。
在子类中,可以使用父类中定义的方法和属性,也可以创建新的数据和方法。
因而,子类通常比父类的功能更多。
在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(…)调用语句只能作为构造函数中的第一句出现
相关文章推荐
- Eclipse: Resolve Workspace projects
- Java学习笔记----面向对象理解
- [leetcode-37]Sudoku Solver(java)
- 自学Java系列 笔记2 面向对象2
- SpringSecurity工作原理小解读
- 自学Java系列 笔记2 面向对象1
- 自学Java系列 笔记1 java的基本语法3
- Spring学习(十)spring mvc入门
- JAVA创建TXT,并写入数据
- 自学Java系列 笔记1 java的基本语法2
- 杭电ACM2054java做法
- java下properties属性文件操作
- 九月一号java小练习
- 也谈java浅克隆与深克隆
- 关于JDK环境变量的配置
- Java类加载相关知识
- 关于JDK的安装 下载 测试能否使用
- ubuntu 下java环境配置
- 韩顺平 java 第一讲 内容介绍,项目演示,原理剖析
- spring的scope讲解