初学JAVA项目(四、文字RPG游戏)

  • Java文字RPG游戏
  • 前言
  • 一、继承
  • 二、成果
    • 1.效果截图

Java文字RPG游戏


前言

本次项目学习目标:
主要通过以项目为导向学习数组、字符串、随机数以及java中的类与继承


一、继承

概述:继承就是在一个已有类的基础上派生出新类

子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为

(父类更通用,子类更具体)

功能:有了继承以后,我们定义一个类的时候,可以在一个已经存在的类的 基础上,还可以定义自己的新成员。

格式:class 子类名 extends 父类名 {}

A:提高了代码的复用性

B:提高了代码的维护性(通过少量的修改,满足不断变化的具体要求)

C:让类与类产生了一个关系,是多态的前提

要求
有共同的属性或操作

有细微的差别

弊端
A:让类的耦合性增强。这样某个类的改变就会影响其他和该类相关的类

  • 原则:低耦合,高内聚。

  • 耦合:类与类的关系

  • 内聚:自己完成某件事情的能力

B:打破了封装性

特点:

A:Java只支持单继承,不支持多继承(C++支持)

B:Java支持多层继承(继承体系)

儿子继承爸爸 爸爸继承爷爷 儿子可以通过爸爸继承爷爷


注意:

A: 子类只能继承父类所有非私有成员(成员方法和成员变量)

B:子类不能继承父类的构造方法,但是可以通过super关键字去访问方法

C: 不要为了部分功能而继承(多层继承会使得子类继承多余的方法)

Java继承中的成员关系

A:成员变量

a:子类的成员变量名称和父类中的成员变量名称不一样,这个太简单写那个名字就访问那个名字!

b:子类的成员变量名称和父类中的成员变量名称一样,这个怎么访问?

子类的方法访问变量的查找顺序:

  • 在子类方法的局部范围找,有就使用

  • 在子类的成员范围找,有就使用

  • 在父类的成员范围找,有就使用

  • 找不到,就报错。

B:构造方法
     a:子类的构造方法默认会去访问父类的无参构造方法,因为子类会继承父类中的数据,可能还会使用父类的数据。所以,子类初始化之前,一定要先完成父类数据的初始化。是为了子类访问父类数据的初始化。

注意:子类每一个构造方法的第一条语句默认都是:super(); 调用父类无参构造。

b:父类中如果没有无参构造方法,怎么办? 由于一个类在定义的时候系统默认给出无参构造,一旦我们给出了有参构造,那么无参构造将不再给出,此时子类的构造方法的第一句默认super()将无法访问到无参构造无法为父类数据疾行初始化,因此导致报错。

  • 子类通过super去明确调用带参构造,通过明确的调用指定的父类带参构造,为父类数据进行初始化。

  • 子类通过this调用本身的其他构造,但是一定会有一个去访问了父类的构造,this();

  • 让父类提供无参构造,综上所述就是为了让父类先于子类数据进行初始化。

C:成员方法
    a:子类的成员方法和父类中的成员方法名称不一样,这个太简单写那个名字就访问那个名字!
    b:子类的成员方法和父类中的成员方法名称一样,这个怎么访问呢?
通过子类对象访问一个方法的查找顺序:

  • 在子类中找,有就使用
  • 在父类中找,有就使用
  • 找不到,就报错

二、成果

1.效果截图


初学JAVA项目(四、魔域:文字RPG游戏)相关推荐

  1. c++rpg黑框游戏_RPG游戏 C++源码 文字RPG游戏

    文字RGP游戏--人魔之战! NOTE:更新,源码及程序可以从百度网盘下载:下载文字RPG游戏 NOTE:此游戏是很久之前的作品,由于某些原因不再提供更新,未来有可能提供新版本的游戏代码,敬请期待. ...

  2. 初学JAVA项目(五、取名背后的秘密)

    初学JAVA项目(五.取名背后的秘密) Java 新生儿取名背后的数据可视化 前言 一.取名背后的秘密 二.关于一些问题的学习 1.Java中如何进行函数式编程? 1.1 什么是函数式编程? 1.2 ...

  3. Java项目——TomJerry Jump Game跑酷游戏

    猫和老鼠跑酷游戏 开发背景 模块设计 人物类 背景图片 障碍类 关键模块 碰撞测试 键盘监听 计分器成绩框 音效设计 实现效果 缺点和问题 附录源代码 开发背景 模拟Google浏览器中离线小恐龙跑酷 ...

  4. C/C++——文字RPG游戏:MINERPG

    更新版本 更新内容 新机制:护盾,回合外反击,限定技能: 战士:新增限定技能无尽之血: 法师:相位转移调整:嗜法重做:风暴盾.暴风雪.心灵震爆.法力燃烧调整:删除技能附魔武器:冰枪术重做:新增技能法力 ...

  5. java编写rgp游戏地图,unity RPG游戏地图编辑 RPG Map Editor v1.5.5

    描述 unity RPG游戏地图编辑 RPG Map Editor v1.5.5 所支持的Unity版本:5.3.1 及以上版本 Fully Supports Unity 5! Create an R ...

  6. 魔域-文字rpg(初学Java第四篇)

    Zork 前言 游戏界面及特性介绍 一.Code Refactoring 二.Composition and Inheritance 1.继承 2.组合 三.I/O Streams 总结 前言 学习目 ...

  7. java项目---全民飞机大战小游戏

    项目素材下载地址:https://download.csdn.net/download/m0_51152186/83604685 源码地址:https://download.csdn.net/down ...

  8. Java 项目案例 1、大富翁游戏系统

    项目案例:  大富翁游戏系统 功能: 有注册功能,登陆功能,抽奖功能,查询功能,修改密码功能,删除账号功能,退出功能 思路: 需要建立一个用户类,每次新建注册用户时new一下即可. 需要建立一个管理类 ...

  9. Java项目你们期待的热门游戏-王者荣耀

    相信很多小伙伴都玩游戏,而对于王者荣耀大家更是不陌生了.虽然王者荣耀在网上的不评论很不好,但是大多数还是逃不过真香定律,边吐槽边玩. 人类已经很难阻止<王者荣耀>前进的步伐了,进入2017 ...

  10. java 最简单的文字类游戏

    本来想把它移植到JAVA GUI文字游戏里,貌似空余时间越来越少,只能提前发出来了 JAVA GUI文字游戏 应该是会开发下去...欢迎关注点赞评论啥的 先上两张图 开始 结束 直接上代码吧 Enem ...

最新文章

  1. 你必须尝试的20个 Python 库
  2. LeetCode Mini Parser(栈操作)
  3. BZOJ.2521.[SHOI2010]最小生成树(最小割ISAP/Dinic)
  4. linux打开应用程序的命令,Windows环境下如何通过命令打开程序!
  5. 牛皮啊,全网独家SpringCloud Alibaba手打笔记
  6. Java VisualVM 插件地址,安装Visual VM插件,修改下载插件地址使插件可以直接在JVisualVM中进行下载
  7. 通讯录排序 (20分)_算法入门篇:简单的排序算法
  8. Teams的manifest文件开始支持多语言
  9. sv信道模型是什么_Unity Shader|基本光照模型实现中遇到的疑思
  10. 互联网创业项目失败的7大特征
  11. TensorFlow 2.0和PyTorch谁更好?大牛们争了好几天
  12. ffmpeg 分辨率 压缩_ffmpeg 视频压缩
  13. WEB——点击下载excel表
  14. 软件工程基础 实验1《可行性研究与项目计划》
  15. FreeRtos在RH850 D1L芯片上移植
  16. 易语言学习笔记(1)
  17. android源代码居中字体,一篇文章了解移动端文本垂直居中
  18. 计算机重做系统有什么好处,电脑卡重装系统有用吗|电脑太卡可以重装系统解决吗...
  19. 我的学习笔记001--private protected public internal mxx
  20. Splay(dispatching)

热门文章

  1. python,练习乌龟吃鱼
  2. 算法帝国:华尔街交易怪兽的核武器缔造史
  3. word公式编辑器复制粘贴未响应_word公式编辑器常见问题汇总,附带解决方法
  4. iOS 第三方库插件和知名博客
  5. 电子或计算机机类学校,热门理工科工程专业当然属于计算机、电子信息和机械...
  6. Qt基于mupdf的pdf转图片
  7. [重要]宝塔面板Linux7.4.3/Windows6.8紧急更新
  8. iOS调用高德地图导航
  9. 计算机系统重装微pe步骤
  10. Soul是一个基于兴趣、场景、算法搭建的“第三空间”?