------------ ------------ ASP.Net+Android+IOS开发、<A">------------ .Net培训、期待与您交流!">------------ ------------
黑马程序员――继承
一、 继承的定义
1. 多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需再定义这些属性和行为只要继承单独的那个类即可,
2. 单独的那个类,被称为父类,基类或超类,继承的类称为子类
3. 可以继承到除私有以外的属性和行为,因为基类的私有成员对外是不可见的
4. 通过extends 关键字来继承
5. 继承的出现提高了代码利用性,
6. 不支持多个继承,可以多层继承(3到4层为佳 ),但支持实现多个接口,也算是弥补了不支持多个继承的缺憾,
二、 super & this
1. super和this用法相同,不同的是super代表父类引用,this代表本类引用,当子父类中出现同名成员时,调用父类成员用super.成员名;
2. 子类调用父类构造函数时,使用super语句,无参构造函数可以省略不写
3. 使用super时,不管子类有没有,都会调用父类成员,
三、 final
1. 可以修饰类,方法,变量
2,final修饰的类不可以被继承
3. final修饰的方法不可以被覆盖
4. final修饰的变量是一个常量。只能被赋值一次,
5. 内部类访问局部变量时,局部变量必须被final修饰
四、 抽象类
1. 抽象类定义: java中没有方法体的方法的类,需要子类去实现功能,这类就是抽象类,方法为抽象方法
2. 抽象类的特点:
1)抽象类和抽象方法必须用abstract关键字来修饰
2) 抽象方法只方法名,方法没有具体实现
3)抽象类不能被new对象,因为抽象类方法没有具体实现,调用也就没意义
4)继承抽象类时,如果没有完成实现父类所有抽象方法,该类还是抽象类,
5)抽象类中可以有不是抽象的方法并不可以与static关键字共存
五、 接口
1. 接口由interface关键字修饰; 接口中,成员常量默认固定修饰符public static final;成员函数默认固定修饰符public abstract
2. 接口的特点:
1)接口是对外暴露的规则,程序的功能扩展
2)接口可以用来多实现
3)类与接口之间是实现关系,而且类可以继承一个类的同时实现多个接口
4)接口与接口之间可以继承,
5)如果能用接口实现时,就不去继承抽象类,因为可以多个实现
6)当抽象类中所有方法为抽象方法时,可以定义为接口也可以定义为抽象类
------------ ------------ ASP.Net+Android+IOS开发、<A">------------ .Net培训、期待与您交流!">------------ ------------