第七章、面向对象高级特性
1、类的继承理解继承的含义
在Java中定义一个类时,让该类通过关键字extends继承一个已有
的类,这就是类的继承(泛化)。
被继承的类称为父类(超类,基类),新的类称为子类(派生类)。
子类继承父类的所有属性和方法,同时也可以增加自己的属性和方法。
Java中只能单继承,也就是说每个类只能有一个直接父类;一个父类可以有多个子类。
继承的语法
[ 修饰符] class 子类名 extends 父类名
继承的好处
使编码更高效
以维护
代码重用
子类实例化的过程
子类实例化时先实例化其父类,然后实例化子类
要先调用父类的构造器,父类构造器运行完毕,才调用子类的构造器
super和this关键字
super()
作用:调用父类的构造器
只能出先在子类的构造器中,且必须是第一行
super()的参数,决定了调用父类的那个构造器
如果子类构造器中没有出现super,那么编译器会默认加上super(),即调用父类的空构造器,如果父类没有空构造器,编译器提示错误
this()
作用:调用本类的构造器
只能写在构造器的第一行
在同一个构造器中,this和super不能同时出现;
super.和this.关键字
super.
指向父类的引用
this.
指向本类的引用
2、java包的概念
在java中,包有以下用途
包允许将类组合成较小的单元
有助于避免命名冲突
包允许在更广的范围内保护类、数据和方法
包可以是类、接口和子包的集合
将类放入包中:
`package 包名 ;`
注意:
在java中位于包中的类,在文件系统中的存放位置,必须有与包名层次相对应的目录结构
package语句作为java源文件的第一条语句
每个源文件只能声明一个包
如果没有package语句,则默认为无名包
Java 类库中常用的包
java.lang
Java语言包,任何程序中,该包都被自动导入。
java.awt
图形用户界面包。
java.awt.event
图形用户界面事件处理包。
java.swing
跨平台轻量级组件包。
java.sql
数据库访问包。
java.io
这个包由对您的输入/输出操作有用的类组成。
java.util
该包提供了许多创建如:lists, calendar, date等所需要的类和接口。
java.net
该包提供了许多进行TCP/IP网络编程的类和接口。
import 导入包中的类
导入包中所有的类
`import 包名.*;`
导入子包中所有的类
`import 包名.子包名.*;`
导入包中的某个类
`import 包名.子包名.类名;`