java抽象类的例子。关于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 秒)