------- android培训、java培训、期待与您交流! ----------
继承是java面向对象的又一大特征
继承的特征好处:
1.提高代码的复用性
2.让类与类之间产生关系,有个这个关系,才有了多态的特性
3.父类中所有功能子类都应该具有
Java中,只支持单继承,不支持多继承
多继承容易带来安全隐患
Class a
{
Void show()
{
System.out.println(“a”);
}
}
Class b
{
Void show()
{
System.out.println(“b”);
}
}
Class c extends a,b
{
C c = new c();
C.show();//不支持多继承,不知道调哪个
}
不过java中还是保留了这种机制只不过换了一种形式就是接口的出现多实现
子父类出现后,类成员的特点:
类中成员:
1.变量
2.函数
3.构造函数
变量:
如果子类中出现非私有同名成员变量时
子类要访问本类中的变量,用this
子类访问父类中的同名变量,用super
子父类中的函数:
当子类出现和父类一模一样的函数时,
当子类对象调用该函数,会运行子类函数的内容
如同父类的函数被覆盖一样
这种情况是函数的另一个特性:重写(覆盖)
覆盖:
子类覆盖父类,必须保证子类权限大于等于父类权限,才可以覆盖
静态只能覆盖静态
重载,只看同名函数的参数列表
重写,子父类方法一模一样,包括返回值类型
子父类中的构造函数:
在对子类对象进行初始化时,父类的构造函数也会运行
子类构造函数默认第一行有super();
Super语句一定在子类构造函数第一行