---------------------- android培训、java培训、期待与您交流! ----------------------
黑马程序员-继承学习总结
继承的作用:1.提高了代码的复用性。
2.让类一类之间产生了关系,有了这个关系,才具有多态特性。
在Java语言中,Java只支持单继承,不支持多继承。
因为多继承存在安全隐患:当多个父类中定义了相同的功能,但功能的内容不同时,子类对象将不能明确调用哪一个父类中的功能。
在使用继承时,需要注意的 是:千万不要为了获取其他类的功能简化代码而继承,必须是类于类之间有所属关系才能继承,继承关系为 is a。
继承通过关键字extends进行实现。
例如如下代码,工人和学生都具备相同的属性,即名字和年龄,可以向上抽取相同的属性,定义到父类Person中,再由Student和Worker分别继承父类Person,以使用父类Person中存在的属性。
class person
{
String name;
int age;
}
class Student extends person
{
void Study()
{
System.out.println("good study");
}
}
class Worker extends Person
{
void work()
{
System.out.println("good work");
}
}
子父类出现后类中成员的特点:
1.变量。
如果子类中出现非私有同名成员变量时,子类要访问本类中的变量使用this关键字,子类要访问父类中的变量用super关键字。
class Fu
{
int num =4;
}
class Zi extends Fu
{
int num = 5;
void show()
{
System.out.println(super.num);
//System.out.println(this.num);
}
}
class Demo
{
public static void main(String[] args)
{
Zi z=new Zi();
z.show();
System.out.println(z.num);
}
}
2.函数。
当子父类中出现一模一样的函数时,子类对象调用该函数时执行子类的函数内容,这是函数的另一种特性:重写(覆盖)
当子类访问父类,沿袭了父类的功能,但子类虽具备该功能,但是功能内容和父类不一致,这时不用定义新的功能,而是使用覆盖特性,保留父类功能定义,并重写该功能内容。
覆盖的注意事项:
子类覆盖父类,必须保证子类权限大于父类权限,才可以覆盖,否则编译失败。
静态只能覆盖静态。
---------------------- android培训、java培训、期待与您交流! ----------------------