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

作者:BJT 时间:2022-07-15 02:44:08 

JAVA接口的概念

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

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

接口的代码实现

定义关键字:interface


public interface 接口名{
//里面不可以有具体的方法体!!!
}

实现 关键字: implements


public class 类名 implements 接口名,接口名2{
//在这里重写接口中的抽象方法
}

举个列子

小明从南京去北京的方法


public class xiaoming {
 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;
   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;
   }
}

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

来源:https://blog.csdn.net/wxbbbbb/article/details/119046551

标签:java,接口,继承
0
投稿

猜你喜欢

  • 使用String类型小数值转换为Long类型

    2023-04-14 10:34:56
  • 详解Java的Struts框架中栈值和OGNL的使用

    2022-11-03 01:38:04
  • JVM中的GC初识

    2022-08-04 08:37:13
  • C#根据年月日计算星期几的函数小例子

    2023-11-20 00:12:40
  • Android itemDecoration接口实现吸顶悬浮标题

    2023-03-14 00:58:31
  • java序列化和java反序列化示例

    2023-11-24 04:01:03
  • C#中ExecuteNonQuery()返回值注意点分析

    2023-04-05 03:40:14
  • 详解SpringSecurity中的Authentication信息与登录流程

    2022-01-20 21:36:22
  • C#获取所有进程的方法

    2022-06-13 16:02:24
  • OpenCV实现直线检测并消除

    2023-07-12 20:44:36
  • Android程序开发之手机APP创建桌面快捷方式

    2023-04-01 06:55:49
  • C语言中数据是如何存储在内存中的

    2021-07-03 02:13:34
  • Java 合并多个MP4视频文件

    2022-08-23 12:09:19
  • Java多线程工具CompletableFuture的使用教程

    2023-07-30 20:31:45
  • java求100之内的素数(质数)简单示例

    2023-11-07 03:12:32
  • springboot多租户设计过程图解

    2021-12-21 08:09:45
  • Android使用 Coroutine + Retrofit打造简单的HTTP请求库

    2023-11-17 04:56:11
  • android判断手机是否安装地图应用实现跳转到该地图应用

    2022-11-30 11:01:45
  • Java实现贪吃蛇大作战小游戏的示例代码

    2023-09-25 21:16:15
  • kotlin中EditText赋值Type mismatch方式

    2023-06-19 03:52:56
  • asp之家 软件编程 m.aspxhome.com