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的术语中,继承的类称为父类或超类,新类称为子或子类。
继承示例图:
Java继承
如上图所示,Programmer是子类,Employee是超类。 两个类之间的关系是Programmer IS-A Employee. 它表示 Programmer 是一种 Employee 的类型。

java继承类型

Java继承

Java中不支持多继承,也就是一个子类只能继承一个父类。
一下就是Java 中的非法继承

Java继承

q)Java中为什么不支持多继承
为了降低复杂性并简化语言,Java中不支持多重继承。