非常重要的一个原理,也是Java面向对象编程的一个非常重要特性。
比如英雄联盟中的物品,都有名称和价格,这就是他们的共性,可以写一个物品类,而物品类下,比如武器,还有攻击力和攻击特效,而防具是血量和护甲。那我们可以分成两个类,一个武器类一个防具类。这两个类都继承物品这个父类,所以他们就不需要单独再写名称价格这两个属性了,只需要加入自己的特别属性就可以了。
举例
物品类
public class Item {
String name;
int price;
}
不使用继承的武器类,除了需要原有属性以外还需要加入自己的属性
public class Weapon{
String name;
int price;
int damage; //攻击力
}
使用继承的武器类,虽然只加入了攻击力这一条属性,但是父类Item的属性子类Weapon是都可以访问到的。
public class Weapon extends Item{
int damage; //攻击力
}
可以写个主函数验证一下
public static void main(String[] args) {
Weapon infinityEdge = new Weapon();
infinityEdge.damage = 65; //damage属性在类Weapon中新设计的
infinityEdge.name = "无尽之刃";//name属性,是从Item中继承来的,就不需要重复设计了
infinityEdge.price = 3600;
}
注:继承还有其他一些知识,这里先以类和对象为视角涉及一下
网友评论