初学JAVA项目(四、魔域:文字RPG游戏)
初学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游戏)相关推荐
- c++rpg黑框游戏_RPG游戏 C++源码 文字RPG游戏
文字RGP游戏--人魔之战! NOTE:更新,源码及程序可以从百度网盘下载:下载文字RPG游戏 NOTE:此游戏是很久之前的作品,由于某些原因不再提供更新,未来有可能提供新版本的游戏代码,敬请期待. ...
- 初学JAVA项目(五、取名背后的秘密)
初学JAVA项目(五.取名背后的秘密) Java 新生儿取名背后的数据可视化 前言 一.取名背后的秘密 二.关于一些问题的学习 1.Java中如何进行函数式编程? 1.1 什么是函数式编程? 1.2 ...
- Java项目——TomJerry Jump Game跑酷游戏
猫和老鼠跑酷游戏 开发背景 模块设计 人物类 背景图片 障碍类 关键模块 碰撞测试 键盘监听 计分器成绩框 音效设计 实现效果 缺点和问题 附录源代码 开发背景 模拟Google浏览器中离线小恐龙跑酷 ...
- C/C++——文字RPG游戏:MINERPG
更新版本 更新内容 新机制:护盾,回合外反击,限定技能: 战士:新增限定技能无尽之血: 法师:相位转移调整:嗜法重做:风暴盾.暴风雪.心灵震爆.法力燃烧调整:删除技能附魔武器:冰枪术重做:新增技能法力 ...
- 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 ...
- 魔域-文字rpg(初学Java第四篇)
Zork 前言 游戏界面及特性介绍 一.Code Refactoring 二.Composition and Inheritance 1.继承 2.组合 三.I/O Streams 总结 前言 学习目 ...
- java项目---全民飞机大战小游戏
项目素材下载地址:https://download.csdn.net/download/m0_51152186/83604685 源码地址:https://download.csdn.net/down ...
- Java 项目案例 1、大富翁游戏系统
项目案例: 大富翁游戏系统 功能: 有注册功能,登陆功能,抽奖功能,查询功能,修改密码功能,删除账号功能,退出功能 思路: 需要建立一个用户类,每次新建注册用户时new一下即可. 需要建立一个管理类 ...
- Java项目你们期待的热门游戏-王者荣耀
相信很多小伙伴都玩游戏,而对于王者荣耀大家更是不陌生了.虽然王者荣耀在网上的不评论很不好,但是大多数还是逃不过真香定律,边吐槽边玩. 人类已经很难阻止<王者荣耀>前进的步伐了,进入2017 ...
- java 最简单的文字类游戏
本来想把它移植到JAVA GUI文字游戏里,貌似空余时间越来越少,只能提前发出来了 JAVA GUI文字游戏 应该是会开发下去...欢迎关注点赞评论啥的 先上两张图 开始 结束 直接上代码吧 Enem ...
最新文章
- 你必须尝试的20个 Python 库
- LeetCode Mini Parser(栈操作)
- BZOJ.2521.[SHOI2010]最小生成树(最小割ISAP/Dinic)
- linux打开应用程序的命令,Windows环境下如何通过命令打开程序!
- 牛皮啊,全网独家SpringCloud Alibaba手打笔记
- Java VisualVM 插件地址,安装Visual VM插件,修改下载插件地址使插件可以直接在JVisualVM中进行下载
- 通讯录排序 (20分)_算法入门篇:简单的排序算法
- Teams的manifest文件开始支持多语言
- sv信道模型是什么_Unity Shader|基本光照模型实现中遇到的疑思
- 互联网创业项目失败的7大特征
- TensorFlow 2.0和PyTorch谁更好?大牛们争了好几天
- ffmpeg 分辨率 压缩_ffmpeg 视频压缩
- WEB——点击下载excel表
- 软件工程基础 实验1《可行性研究与项目计划》
- FreeRtos在RH850 D1L芯片上移植
- 易语言学习笔记(1)
- android源代码居中字体,一篇文章了解移动端文本垂直居中
- 计算机重做系统有什么好处,电脑卡重装系统有用吗|电脑太卡可以重装系统解决吗...
- 我的学习笔记001--private protected public internal mxx
- Splay(dispatching)
热门文章
- python,练习乌龟吃鱼
- 算法帝国:华尔街交易怪兽的核武器缔造史
- word公式编辑器复制粘贴未响应_word公式编辑器常见问题汇总,附带解决方法
- iOS 第三方库插件和知名博客
- 电子或计算机机类学校,热门理工科工程专业当然属于计算机、电子信息和机械...
- Qt基于mupdf的pdf转图片
- [重要]宝塔面板Linux7.4.3/Windows6.8紧急更新
- iOS调用高德地图导航
- 计算机系统重装微pe步骤
- Soul是一个基于兴趣、场景、算法搭建的“第三空间”?