这篇文章为大家讲解一下类与类之间的继承关系。
即父类和子类。
本文理论知识偏多,当然也会以代码演示。
=.=
一.什么是继承关系
通俗来讲,举个例子:
第一类:求学者
第二类:学生
第三类:大学生
高中生
初中生
这三类便是存在继承关系的三类,第一类属于第二类的父类,也属于第三类的间接父类。
同理,第二类属于第一类的子类,也属于第三类的父类。
同理,第三类属于第二类的子类。
--------------------------------------------------------------------------------------------------------------------------
在继承关系中,
1>.上一级类作为下一级类的父类
2>.下级类作为上级类的子类(扩展类)
3>.任何一个类只能有一个直接父类 ,可以有多个直系父类 (父类的父类也是我的父类)
4>.子类继承父类后 可以继续扩展改造新的功能
5>.Java中 任何类都默认有一个父类,叫做Object类
6>.禁止一个类可以被继承,可以使用final修饰这个类 (final修饰的类不能有子类)
二.创建继承类关系的代码及运用
代码格式:public class 子类名 extends 父类名{ }
此处以我写的小代码为例子,
1>.继承关系的简单运用
public class war {}
这是我创建的父类,接着按照代码格式创建子类。
public class smallpika extends war{}
这样一来,类smallpika和war就有了继承关系,依据前文提到的六条总结,我们可以在父类war中加入任何我们想要的代码,在子类中都能使用。
此处我在war中加入了各
类变量如Hp,Ad,Speed,Level等。
String name;
int ad;
int hp;
int level;
int speed;
public void information(){
System.out.println("卡牌名字:"+name);
System.out.println("当前等级:"+level);
System.out.println("血量:"+hp);
System.out.println("攻击:"+ad);
System.out.println("攻速:"+speed);
}
接着我们新建一个game类,由于子类smallpika已经继承了父类war的所有变量及代码,我们可以在game中直接调用类smallpika,并为其赋值。
smallpika g2 =new smallpika();
g2.name="皮卡(超凡)";
g2.level=15;
g2.hp =1983;
g2.ad=1050;
g2.speed=15;
然后我们调用父类中的对象information,将我们设置的各类数值展现出来。
g2.information();
以此类推,我们可以再创建新的其它子类与父类war连接并调用。
2>.继承关系中的“方法重写”
即当存在某一个方法所有子类都有时,但每个子类的方法内容都不相同,此时需要需要进行方法重写。
即在父类war中写入这个方法,再在子类如smallpika中再写此方法。
public void goodtime(){
System.out.println("精彩描述:");
}
public void goodtime(){
super.goodtime();
System.out.println("高攻快攻的特点让其成为了名副其实的“后排噩梦”");
System.out.println("-------------------------------------");
}
值得注意的是,方法重写会覆盖父类中的方法,所以这里我加了super.goodtime(),此代码含义为先执行一次父类中的此方法。
这样子便可以进行调用了。
今天讲的继承内容有点少,但都比较抽象难以理解哈。
=.=