Java继承产生的背景? 为什么会使用继承? 继承解决了哪些问题?(简单理解)
继承产生的原因:在一个项目中多个类具有很多相同的代码段,代码多了不仅仅容易出错,在需要系统升级的时候各个相同的代码段都需要修改,所以产生了“继承”。用下面的例子来解释我这段话。
//注意:都是public类型的类,这两个类不在一个文件中
//第一个类
public class Dog{
public int age;
public String name;
public void eat(){
System.out.println("开始吃饭!");
}
public void Cry(){
System.out.println("汪汪!");
}
}
//第二个类
public class Cat{
public int age;
public String name;
public void eat(){
System.out.println("开始吃饭!");
}
public void Cry(){
System.out.println("喵喵!");
}
}
从代码中可以简单的看出,Dog类和Cat类,有很多相同的代码块,所以这里就可以用“继承”了。
用继承后修改的代码如下:
//此三个类也不在同一个文件
//第一个类(父类或基类)
public class animals{
public int age;
public String name;
public void eat(){
System.out.println("开始吃饭!");
}
public void Cry(){
System.out.println("叫声!");
}
}
//第二个类狗狗类
public class Dog extends animals{
public void Cry(){
System.out.println("汪汪!");
}
}
//第三个类猫猫类
public class Cat extends animals{
public void Cry(){
System.out.println("喵喵!");
}
}
被继承的父类是狗狗类和猫猫类共同的代码,这样看是不是就好多了,重复的代码只写了一次通过extends关键字继承父类,每个类就都可以使用父类中的东西了,是不是对继承有了一些理解了。
子类继承了父类的属性和方法,子类特有的方法覆盖就行(这里先不解释覆盖)
注意:此案例没有写构造方法等,代码只是为了简单明了的解释关于继承的一些问题。
适合初学者学习,博主记录学习过程,有问题需要讨论或者我说的有问题欢迎评论区告诉我,一起学习一起进步。
谢谢观看!