在网上找了很久,发现没有一个比较好的关于java抽象类的例子,刚好自己这些天在书上看到一个不错的猜数字游戏的例子,所以拿出来改进了下,希望能给你一些帮助,具体内容如下

建2个类依次为AbstractGuessNumber.java,ExtendsGuessNumber.java,其内容以下详细给出:

ExtendsGuessNumber.java代码如下:

package myjava;

import java.util.Scanner;

public class ExtendsGuessNumber extends AbstractGuessNumber {

private

Scanner scanner;

public

ExtendsGuessNumber() {

scanner=new Scanner(System.in);

}

public void

showMessage(String message) {

for(int i=0;i

System.out.print("*"); //输出界面格式控制,新手不用太在意

}

System.out.println("\n"+message);

for(int i=0;i

System.out.print("*"); //输出界面格式控制,新手不用太在意

}

System.out.print("\n");

}

public int

getUserInput() {

System.out.println("请输入一个数吧:");

return scanner.nextInt();

}

}

AbstractGuessNumber.java代码如下:

package myjava;

public abstract class AbstractGuessNumber {

private int

number,guess=0;

public void

setNumber() {

System.out.print("想一个数让他猜去,");

this.number=getUserInput();

}

protected

abstract void showMessage(String message);

protected

abstract int getUserInput(); //子类中需要重写的两个类

public void

begin() {

showMessage("欢迎玩猜数字游戏!\n ");

while(number!=guess) {

guess=getUserInput(); //获取用户所猜的数字

if(number

showMessage("猜大了,别泄气哦\n");

if(number>guess)

showMessage("猜小了,别泄气啊\n");

}

showMessage("你可算猜对了\n'");

}

}

以上两个类建好以后,我们就可以来测试了:

public class Start  {

public static void main(String[] args) {

AbstractGuessNumber egu=new ExtendsGuessNumber(); //实例化

egu.setNumber();

egu.begin();

}

运行结果如下:

run:

想一个数让他猜去,请输入一个数吧:

88

**********************

欢迎玩猜数字游戏!

**********************

请输入一个数吧:

8

******************

猜小了,别泄气啊

******************

请输入一个数吧:

90

******************

猜大了,别泄气哦

******************

请输入一个数吧:

88

****************

你可算猜对了

'

****************

成功生成(总时间:25 秒)

java抽象类例子_关于java抽象类的例子相关推荐

  1. 创建抽象类、_【Java视频教程】day16-抽象类

    抽象类的概念 抽象的产生 需求:创建类描述猫和狗: 猫:颜色:名字:品种: 吃:叫:抓老鼠: 狗:颜色:名字:品种: 吃:叫:看家: 老的实现方式: //创建类描述狗 class Dog {priva ...

  2. java smack 例子_关于JAVA利用smack连接openfire的jar依赖问题

    一.GitHub上的maven依赖 直接使用maven依赖 二.关于smack-4.3.4的jar包相关依赖 有两种方式 ①.引入maven依赖,比4.2.0版本多了一项 ②.可以在https://w ...

  3. java ee6教程_《Java EE 6 企业级应用开发教程》怎么样_目录_pdf在线阅读 - 课课家教育...

    第1章 java EE概述 1.1 Java EE的产生与发展 1.2 Java EE 6架构 1.3 Java EE 6常用技术 1.4 Java EE 6特性 1.5 Java EE 6应用服务器 ...

  4. 纯java分布式内存数据库_最新Java岗面试清单:分布式+Dubbo+线程+Redis+数据库+JVM+并发...

    最近可能有点闲的慌,没事就去找面试面经,整理了一波面试题.我大概是分成了Java基础.中级.高级,分布式,Spring架构,多线程,网络,MySQL,Redis缓存,JVM相关,调优,设计模式,算法与 ...

  5. java核心教程_核心Java教程

    java核心教程 Welcome to Core Java Tutorial. I have written a lot on Core Java and Java EE frameworks. Th ...

  6. java 删除语句_是java语句

    <21天学通Java(第7版)>-- 第2章 Java编程基础 2.1 语句和表达式 本节书摘来异步社区<21天学通Java(第7版)>一书中的第2章,第2.1节,作者: [美 ...

  7. str. 在java什么意思_在JAVA里timestr表示什么意思

    满意答案 没具体代码,看不懂,不过根据命名的规范,可以猜测是和时间有关系的字符串 tiem + string = timestr 可能是对日期类型转换到字符串类型的一个存储变量 例子 package ...

  8. java武功秘籍_请问java全套内容都有什么呢?

    我整理的Java全套内容学习路线,分为6个阶段(大阶段)第一阶段:java内功心法篇 第二阶段:Java武功秘籍(经典框架) 第三阶段:Java高级功法(主流框架) 第四阶段:Java成神之路 第五阶 ...

  9. java 图像处理 空白_使用Java进行图像处理的一些基础操作

    图像是由一组像素构成,用二进制形式保存的图片.java语言支持gif.jpeg和bmp这3种主要图像文件格式.java语言的图像处理功能被封装在image类中. 图像载入和输出 在java程序中,图像 ...

  10. java高级教程_高级Java教程

    java高级教程 课程大纲 学习Java基础很容易. 但是,真正钻研该语言并研究其更高级的概念和细微差别将使您成为一名出色的Java开发人员. 网络上充斥着"软","便宜 ...

最新文章

  1. Word中查找和替换功能详细介绍
  2. Hinge Loss
  3. WINDOWS2003 ORACLE10G RAC一步一步 手把手 实录
  4. Linux awk命令详解??????????(研究)
  5. jaxb_JAXB众所周知的秘密
  6. 免费LInux主机资源
  7. 学习笔记之04-第一个OC程序解析
  8. Haven Protocol为公共测试网xAsset推出新浏览器
  9. Android UI 调试常用工具(Dump view UI hierarchy for Automator)
  10. string equals java_Java equals比较方法(Java StringEquals)
  11. IOS字体与安卓字体渲染不一致
  12. 电脑键盘部分按键失灵_笔记本电脑部分按键失灵,可能的原因有哪些?
  13. 性能测试基础知识-华为云学院
  14. 〈四〉ElasticSearch的认识:基础原理的补充
  15. tp5.1 保利威视 云课堂 三分屏 PC直播DEMO(不适合普通直播)
  16. 给中国学生的第六封信——选择…
  17. 树莓派开始,玩转Linux4:具备良好的编辑器
  18. 字节跳动bytedance西瓜视频播放器研究
  19. java手机游戏ios_我的世界JAVA版本ios版
  20. 初学AI(ML、DL、TensorFlow)与python、OpenCV的一些体会

热门文章

  1. WPF ComboBox下拉绑定Treeview 功能的实现
  2. ListView setOnItemClickListener无效
  3. 判断应用程序是否是当前激活程序(获得焦点的程序)
  4. 从0到1详解数据挖掘过程
  5. 我30岁了。现在开始编程,会不会太晚?
  6. 上某些网站的时候要小心,不要以为 HTTPS 就安全了
  7. 如何躲开技术人员35岁魔咒?【有惊喜系列】
  8. docker安装rabbitmq延时队列插件
  9. Javascript调试之console对象,它的一些小技巧你都知道吗?
  10. jeecg-framework 采用eclipse-maven运行