类的继承 关键字extends
Java的类有一个直接或者间接的父类 Java.lang.object
Java的继承具有单继承的特点,每个子类只有一个直接父类。
方法的重载:在一个类中用相同的方法名字定义多个方法,每个方法应该有不同的代码,实现不同的功能
要求:参数个数、参数类型、参数的排列顺序 不同
参数的返回类型不构成重载
方法的重写:子类中使用与父类同名的方法且参数个数、参数类型、参数的排列顺序、参数的返回类型完全一样
重写 又称超越或隐藏
重写方法时,访问控制权限不能低于父类中方法的访问控制权限
super.方法名(); super.成员变量名;
抽象类和抽象方法 abstract
抽象类:只能被继承,不能生成具体对象(不能实例化)
包含抽象方法的类叫做抽象类,一个抽象类中可以有一个或多个抽象方法,也可以没有抽象方法
只要有一个方法是抽象的,则这个类一定是抽象类 抽象方法只能存在于抽象类中
抽象类只能作为父类使用,由它派生的子类必须实现所有的抽象方法,才能创建对象。
一个抽象方法仅仅是为所有子类定义一个统一的接口,具体的代码通过派生类中对抽象方法的覆盖来实现
抽象方法只有声明,没有方法体,以分号;结尾
final 修饰符
终极类:不能被继承 如 有关网络的 InterAddress类,Socket类,有关标准的输入输出操作的System类
终极方法:不能被子类重写的方法
终极变量:取值不能改变,也就是一个常量,常与static一起使用
类成员(用static修饰的变量和方法) 即静态变量 静态方法 通过类名即可引用
类的实例方法:类加载到内存时,不分配入口地址,创建对象后,分配入口地址
类方法:类加载到内存时,分配入口地址 不能使用this super关键字
接口 interface 用于实现类间多重继承功能的结构 extends 父接口名列表1,父接口名列表2 对接口功能的继承称为“实现”
接口:一种特殊的抽象类, 接口中的方法都是抽象方法,抽象方法在实现类中必须全部实现,否者要将实现类定义为抽象类
接口中没有可以变动的数据成员(变量),只能有final 类型的数据成员(常量) 接口基本数据类型为static而抽象类不是
接口的实现:implement 降低了耦合度
接口和实现类的关系是继承关系,一个类可以实现多个接口,从而实现多继承
import 发生在编译期 相当于备案,不会影响效率
import 包名.* 加载包中所有的类,不会影响效率