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

    1.运行以下代码:

    public class ParentChildTest {
        public static void main(String[] args) {
            Parent parent=new Parent();
            parent.printValue();
            Child child=new Child();
            child.printValue();
            
            parent=child;
            parent.printValue();
            
            parent.myValue++;
            parent.printValue();
            
            ((Child)parent).myValue++;
            parent.printValue();
            
        }
    }
    
    class Parent{
        public int myValue=100;
        public void printValue() {
            System.out.println("Parent.printValue(),myValue="+myValue);
        }
    }
    class Child extends Parent{
        public int myValue=200;
        public void printValue() {
            System.out.println("Child.printValue(),myValue="+myValue);
        }
    }

    上述代码的特点是:子类和父类定义了一模一样的字段和方法。

    第一个是父类自身的对象,同时调用了父类自己的方法。第二个是子类自身的对象调用了子类自己的方法。

    第三个父类变量引用子类对象调用子类的方法。第四个引用了子类的对象,调用了子类的方法。

    第五个通过类型转换改变了子类的变量,用了子类的方法。

    当子类与父类拥有一样的方法,并且让一个父类变量引用一个子类对象时,到底调用哪个方法,由对象自己的“真实”类型所决定,这就是说:对象是子类型的,它就调用子类型的方法,是父类型的,它就调用父类型的方法。

    2.

    import java.util.Scanner;
    
    class Account{
        String account;
        String name;
        String date;
        int key;
        double money;
        
        public Account(String a,String b,String c,int d,double e)
        {
            account=a;
            name=b;
            date=c;
            key=d;
            money=e;
        }
        
    }
    
    public class Option {
        public static void main(String[] args) {
            Account aa=new Account("622888040311","zxw","2016.11.15",123456,1000);
            int a,b;
            System.out.println("请选择语言:1.中文 2.英文");
            Scanner in =new Scanner(System.in);
            a=in.nextInt();
            System.out.println("请输入密码:");
            Scanner in1 =new Scanner(System.in);
            b=in1.nextInt();
            if(b==aa.key){
                while(true){
                    
                int choose;
                System.out.println("请选择操作:1.存款 2.取款 3.转账汇款 4.修改密码 5.查询余额");
                Scanner in2 =new Scanner(System.in);
                choose=in2.nextInt();
                if(choose==1){
                    System.out.println("请输入存款金额:");
                    Scanner in3 =new Scanner(System.in);
                    double cun=in3.nextInt();
                    aa.money=aa.money+cun;
                    continue;
                }
                else if(choose==2){
                    System.out.println("请输入取款金额:");
                    Scanner in4=new Scanner(System.in);
                    double qu=in4.nextDouble();
                    if(aa.money<qu){
                        System.out.println("卡内余额不足");
                    }
                    aa.money=aa.money-qu;
                    continue;
                }
                else if(choose==3){
                    System.out.println("请输入要转账的卡号:");
                    Scanner in6=new Scanner(System.in);
                    String hang=in6.nextLine();
                    if(hang.equals(aa.account)){
                        System.out.println("请输入转账金额:");
                        Scanner in5=new Scanner(System.in);
                        double zhuan=in5.nextDouble();
                        aa.money=aa.money-zhuan;
                    }
                }
                else if(choose==4){
                    System.out.println("请输入原密码:");
                    Scanner in7=new Scanner(System.in);
                    int mi=in7.nextInt();
                    if(mi==aa.key){
                        System.out.println("请输入新密码:");
                        Scanner in8=new Scanner(System.in);
                        int mi2=in8.nextInt();
                        aa.key=mi2;
                    }
                }
                else if(choose==5){
                    System.out.println("现在的余额为:"+aa.money);
                }
                
                }
            }
            else
                System.out.println("密码错误,该卡已被锁定,无法操作");
    
        }
    
    }
  • 相关阅读:
    数据仓库-数据清洗
    数据仓库-维度模型(模型类型、建模过程)
    数据仓库-维度
    I am going to India on a business trip
    Android O编译前修改文件和目录权限
    apktool介绍
    Android中国官网资源网站
    android7.0后对于detected problems with app native libraries提示框显示
    android7.0后对于file://的限制
    android7.0对于SharedPreferences设置模式的限制
  • 原文地址:https://www.cnblogs.com/lzxw/p/6079387.html
Copyright © 2011-2022 走看看