------- android培训、java培训、期待与您交流! ----------
继承extends
class student extends person
继承:提高代码的复用性,让类与类之间产生关系,提供了多态的前提
子类可以直接访问父类中非私有的属性和行为,无法继承父类中私有的内容,父类是共性不断向上抽取而来的。
特点:Java只支持单继承,即一个类只能有一个父类
注意:不要仅为了获取类中的某个功能而去继承,要有所属关系
Super:关键字,与this用法相似,代表父类内存空间的标识
当子父类中的成员变量同名时用super区分父类
覆盖操作:当子父类出现成员函数一模一样时,运行子类的函数
父类中私有、static方法不可以被覆盖,同时子类方法权限必须大与父类
构造函数:在子类的构造函数中,第一行有一个默认的super();如果使用super(4),调用父类的其他构造函数,那么默认的就不会再被调用。
子类的实例化:
当父类中没有空参数的构造函数时,子类的构造函数必须通过this或者super语句指定要访问的构造函数;
子类的构造函数this和super只能有一个,因为他们都必须定义在第一行,但可以保证的是子类中肯定会有其他的构造函数访问父类的构造函数;
Final:可修饰类、方法、变量
其修饰的类不可被继承,方法不可被覆盖,修饰的变量为常量;
抽象类:包含抽象方法(没有方法体的方法)的类,用abstract修饰
抽象方法格式:修饰符 abstract 返回值类型 函数名(参数列表);
抽象类可定义非抽象方法,不可以实例化,也就是不可以用new创建,通过子类实例化,一定是个父类
抽象类中有构造函数,用于给子类对象初始化
Abstract不可以和private、static、final共存
抽象类中可以没有抽象方法,但很少见,目的是不让该类创建对象
接口
class keyboard implements usb
格式:interface usb{}
接口中成员修饰符是固定的,成员都是公共权限:
成员常量 public static final
成员函数 public abstract
类与类是继承关系,类与接口是实现关系,类在继承另一个类时可实现多个接口;
接口不可以实例化,通过子类实现;接口只能定义抽象方法
接口的出现将“多继承”通过另一种方式体现出来,即“多实现”