一篇文章带你了解java接口与继承

网友投稿 236 2022-10-08


一篇文章带你了解java接口与继承

目录java接口的概念接口的代码实现定义关键字:interface实现 关键字: implements举个列子注意事项Java继承什么是继承:总结

JAVA接口的概念

官方解释:Java接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。

我的理解:在类中,方法是具体的,通过接口我们可以将具体的方法抽象化。比如在动物类中有吃的动作,不同的动物吃不同的食物,食肉食草等,通过接口我们可以对不同的动物调用不同的接口方法。

接口的代码实现

定义关键字:interface

public interface 接口名{

//里面不可以有具体的方法体!!!

}

实现 关键字: implements

public class 类名 implements 接口名,接口名2{

//在这里重写接口中的抽象方法

}

举个列子

小明从南京去北京的方法

public class xiahttp://oming {

public void WaytoBeiJing(waytoBeiJing wtbj){

wtbj.WaytoBeiJing();

}

public static void main(String[] args) {

xiaoming Xiaoming = new xiaoming();

xiaoming_tobeijing xm_tbj = new xiaoming_tobeijing();

Xiaoming.WaytoBeiJing(xm_tbj);

}

}

// 定义接口

public interface waytoBeiJing {

public void WaytoBeiJing();//抽象方法 没有方法体

}

//写方法

public class xiaoming_tobeijing implements waytoBeiJing{

//重写去北京的方法

@Override

public void WaytoBeiJing(){

System.out.println("乘坐飞机");

}

//一个类中只能有一个方法 可以再次创建一个类 写第二种方法

}

结果:

乘坐飞机

Process finished with exit code 0

注意事项

1.接口不能被实例化。

2.接口中所有方法不能有主体。

3.一个类可以实现多个接口。

4.接口可以有变量,但一定是public static final 修饰,就算你不写,JVM也会默认是这个。

5.接口中的方法只能是public修饰。

6.一个接口不能继承其他类,但是可以继承别的接口。

Java继承

什么是继承:

继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。 为什么要用继承:可以去掉重复代码,方便后期维护

举个列子,大家应该都玩过英雄联盟,每个英雄都是一个类,如果说不用继承的话每次都要重复定义每个英雄的成员属性,如下图我举了一个MF,一个EZ的列子

public class MissFortune {

// 成员

// 属性

String nameID;

int hp;

int ad;

int ap;

int lv;// 人物等级

// 技能等级

int q_lv;

}

public class Ezreal {

// 成员

// 属性

String nameID;

int hp;

int ad;

int ap;

int lv;// 人物等级

// 技能等级

int q_lv;

}

这样就创建了两个单独独立的英雄类,可以发现前半部分代码都是重复的,下面我们用继承来看一下

首先创建一个父类:

public class Hero {

// 成员

// 属性

String nameID;

int hp;

int ad;

int ap;

xIIxN int lv;// 人物等级

// 技能等级

int q_lv;

}

然后再看我们的单独英雄类:

public class MissFortune extends Hero{

// 成员方法

// 初始化

public void initMissFortune(){

hp=570;

ad=52;

ap=0;

lv=1;

q_lv=1;

}

}

public class Ezreal extends Hero {

// 成员方法

// 初始化

public void initEzreal(){

hp=530;

ad=60;

ap=0;

lv=1;

q_lv=1;

}

}

在此之中,父类的属性和方法 子类都可以继承到并 直接调用,简洁了代码,后期维护的过程中也不容易出错

总结

本篇文章就到这里了,希望能给你带来帮助,也希望您能够多多关注我们的更多内容!


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:聊聊密码学中的DES算法(des算法解密)
下一篇:WAF Web应用防火墙常见部署方式介绍(waf防火墙)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~