多态与异常处理

一.

1. 左边的程序运行结果是什么? 2. 你如何解释会得到这样的输出? 3. 计算机是不会出错的,之所以得 到这样的运行结果也是有原因的, 那么从这些运行结果中,你能总 结出Java的哪些语法特性?

运行结果:

2.在程序中,前两组定义自己的变量,用自己的方法及成员变量;第三个parent=child,引用子类的方法及变量,第四个变量是父类的,方法是子类的,最后一个是强制转化,改变的是子类的变量,用的是子类的方法。

 

3.通过自己反复改变ParentChildTest.java中的代码,和结论一致

如果子类与父类有相同的字段,则子类中的字段会代替或隐藏父类的字段,子类方法中访问的是子类中的字段(而不是父类中的字段)。如果子类方法确实想访问父类中被隐藏的同名字段,可以用super关键字来访问它。 如果子类被当作父类使用,则通过子类访问的字段是父类的!

 

二。这种编程方式有什么不合理的地方吗?

算法可以进行简化,喂养可以作为一个程序进行调用。

结果:

我不吃肉谁敢吃肉!
我什么都吃,尤其喜欢香蕉。
我什么都吃,尤其喜欢香蕉。
我什么都吃,尤其喜欢香蕉。
我什么都吃,尤其喜欢香蕉。
我什么都吃,尤其喜欢香蕉。
我什么都吃,尤其喜欢香蕉。
我什么都吃,尤其喜欢香蕉。
我什么都吃,尤其喜欢香蕉。
我什么都吃,尤其喜欢香蕉。
我什么都吃,尤其喜欢香蕉。
我要减肥,所以每天只吃一点大米。
我要减肥,所以每天只吃一点大米。
我要减肥,所以每天只吃一点大米。
我要减肥,所以每天只吃一点大米。
我要减肥,所以每天只吃一点大米。

 

 

三。

为什么要用多态?它有什么好处?
使用多态最大的好处是:当你要修改程序并扩充系统时,你需要修改的地方较少,对其它部分代码的影响较小!千万不要小看这两个“较”字!程序规模越大,其优势就越突出。

ATM

源代码:

package point;
import java.util.Scanner;
class use{
String key = "123";
String key1 = new String();
}
class way extends use{
int x=0;
public void add(int a){
x=a+x;
}
public void qukuan(int a){
x=x-a;
}
public void show(){
System.out.println("余额为:"+x);
}
public void change(){

}
}
public class Atm {
public static void main(String args[]){
use use1 = new use();
int n=1;
way way2=new way();
way way1= new way();
System.out.println("请输入密码: ");
Scanner scanner = new Scanner(System.in);
use1.key1=scanner.next();
if(!use1.key.equals(use1.key1))
{
System.out.println("密码错误,无法操作!");
}
if(use1.key.equals(use1.key1))
{
while(n==1)
{System.out.println("请选择操作:1.存款 2.取款 3.转账汇款 4.修改密码 5.查询余额 6.退出");
Scanner scanner2 = new Scanner(System.in);
int a = scanner2.nextInt();
if(a==6)
{
n=2;
}
if(a==1)
{
System.out.println("请输入存款金额:");
Scanner scanner3 = new Scanner(System.in);
int b=scanner3.nextInt();
way1.add(b);
System.out.println("存入金额为:"+b);
way1.show();
}
if(a==2)
{
System.out.println("请输入取款金额:100 500 1000 1500 2000 5000,其他金额:");
Scanner scanner3 = new Scanner(System.in);
int b=scanner3.nextInt();
way1.qukuan(b);
System.out.println("取款金额为:"+b);
way1.show();
}
if(a==3)
{
System.out.println("请输入转账金额:");
Scanner scanner3 = new Scanner(System.in);
int b=scanner3.nextInt();
way2.add(b);
way1.qukuan(b);
}
if(a==4)
{
System.out.println("请输入修改的密码:");
Scanner scanner3 = new Scanner(System.in);
String b=scanner3.next();
use1.key=b;
System.out.println("修改成功!");
}
if(a==5)
{
way1.show();
way2.show();
}
}
}
}
}

程序运行截图

 

posted on 2016-11-18 22:01  super大蜗牛  阅读(191)  评论(0编辑  收藏  举报

导航