Java继承
Java继承
一个类有的对象有属性(类变量)和行为(方法)
class cat{
int age;
String color; //属性(年龄和颜色)
void eat(){
System.out.println("eat fish")
}
//行为吃鱼和玩球
void play(){
System.out.println("play the ball")
}
}
Java中的继承是一种机制,表示为一个对象获取父对象的所有属性和行为。
在Java中继承是:可以创建基于现有类构建新的类。 当您从现有类继承时,就可以重复使用父类的方法和字段,也可以在继承的新类中添加新的方法和字段。继承表示IS-A关系,也称为父子关系。
eg:父类
class animal{
int age;
String color;
void eat(){
}
}
eg:子类狗
class dog extends animal{
String variety;
void shakeTheTail(){
}
}
eg :子类猫
class cat extends animal{
String Size;
void climbe(){
}
}
子类继承父类会继承父类的color和age属性,同时继承了行为eat();但是也添加了自己的属性和行为,狗基于父类动物增加了品种和摇尾巴的行为。猫增加了大小的属性和爬树的行为。
Java中的继承
q)什么时候用继承?
A) 在Java中,子类可继承父类中的方法,而不需要重新编写相同的方法。但有时子类并不想原封不动地继承父类的方法,而是想作一定的修改,这就需要采用方法的重写(覆盖)。
继承语法:
class Subclass-name extends Superclass-name
{
//methods and fields
}
extends关键字表示正在从现有类派生创建的新类。 “extends”的含义是增加功能。在Java的术语中,继承的类称为父类或超类,新类称为子或子类。
继承示例图:
如上图所示,Programmer是子类,Employee是超类。 两个类之间的关系是Programmer IS-A Employee. 它表示 Programmer 是一种 Employee 的类型。
java继承类型
Java中不支持多继承,也就是一个子类只能继承一个父类。
一下就是Java 中的非法继承
q)Java中为什么不支持多继承
为了降低复杂性并简化语言,Java中不支持多重继承。