zoukankan      html  css  js  c++  java
  • 多态与异常处理

    一.

    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();
    }
    }
    }
    }
    }

    程序运行截图

  • 相关阅读:
    BZOJ 3208: 花神的秒题计划Ⅰ
    BZOJ 3207: 花神的嘲讽计划Ⅰ
    BZOJ 2732: [HNOI2012]射箭
    BZOJ 3165: [Heoi2013]Segment
    BZOJ 3626: [LNOI2014]LCA
    2017 01 16 校内小测 ZXR专场
    BZOJ 3101: N皇后
    BZOJ 1106: [POI2007]立方体大作战tet
    BZOJ 2084: [Poi2010]Antisymmetry
    【UOJ#228】基础数据结构练习题 线段树
  • 原文地址:https://www.cnblogs.com/shenghuizhang/p/6079290.html
Copyright © 2011-2022 走看看