目录
一、类的继承:
意义:实现代码复用,避免代码冗余。
特点:单继承(每个子类只能有一个父类)
概念:是一种已有类创建新类的机制,被继承的类称为基类或父类、由继承形成的类称为派生类或者子类。(一个父类可以同时拥有多个子类,一个子类只能有一个父类(即单重继承);子类还可以拥有自己的子类(即多层继承))。
语法格式:
[访问权限] class 子类名 extends 父类名
二、什么是抽象类,如何使用抽象类:
概念:当一些方法对于所有的对象都是合适的,有些方法只对某个特定类型的对象才有意义。这些方法在这个类中不能实现。这种类就叫做抽象类。
- 抽象类一般没有足够的信息来描述一个具体的对象。
- 抽象类只用于继承,不能用于创建对象。
- 一个抽象类一般包括一个或多个抽象方法(只有方法说明,没有方法体)
- 抽象类的子类必须实现其父类定义的每一个抽象方法。
抽象类语法格式:
abstract class 类名
{
类成员定义
}
抽象类特点:
- 在抽象类中不是所有的方法都是抽象方法,可以在抽象类中定义并实现方法。
- 抽象类的子类必须实现父类的所有抽象方法后才能实例化。
- 抽象类不能实例化
- 可以定义不包含抽象方法的抽象类,此时该类不能被实例化。
抽象方法:
只声明而没有实现的方法叫做抽象方法。
语法格式:
abstart 返回值类型 抽象方法名([<形式参数列表>]);
三、接口:
定义:
接口是用来实现类似多重继承功能的一种结构,它在语法上和类相似,也有成员变量和成员方法也可以形成继承关系,但接口和类有着很大区别,它的成员变量都是常量,方法都是抽象方法。
[修饰符] <interface> <接口名> [extends 父类接口列表]{
[public] [static] [final] 类型 变量名=初始值;
[public] [abstract] 返回值 方法名 ([参数列表]);
}
特点:
- 接口用关键字interface定义,而不是class
- 接口中定义的变量全部公有的、静态的、最终的、所以都是常量
- 接口中定义的方法都是抽象、公有,所以修饰符可以省略
- 接口没有构造方法,而且定义的方法都是抽象方法,所以接口不能创建对象
- 接口采用多重继承机制而不是采用类的单重继承机制
应用:
一个类要实现某个或某几个接口时使用implements关键字
一个类可以同时实现多个接口,各接口间用“,”隔开,这个类称为接口的实现类
[类修饰符] class 类名 [extends 父类名] [implements 接口名列表]{
//类中重写接口的抽象方法
}
四、包的定义以及使用:
包的概念:
Java语言允许将一组类和接口集合在一个包中。包是Java提供的一种区别类名字空间的机制,是类的组织方式。包是一组相关的类和接口的集合,Java的每个类都包含在相应的某个包中。
在源程序中可以声明类所在的包,同一包中的类名不能重复,不同包中的类名可以相同。每个类必须使用唯一的名字。
包的定义:
创建一个包需要通过关键字package声明。package语句必须作为Java源文件的第一条语句,用来指明该源文件定义的类所在的包.
语法格式:
package <包名>
包的使用:
通过import语句导入类,从而使用类。
语法格式:
两种情况分别用如下两种形式的import语句:
inpot java. uil. Date; //导入包java.util中的Date类
inpot java. uil. * ; //导入包中的全部类,不包含其他子包