package yh; import java.text.SimpleDateFormat;//常用日期操作工具類
import java.util.Calendar;//使用默認時區和語言環境獲得一個日歷
java封裝繼承多態的例子。import java.util.Date; public class yh
{ private String name;//姓名 private String id;//身份
public yh(String name, String id)
封裝繼承多態是什么、{ ?this.name=name; ?this.id=id; ? }
public String getName() { ?return name; }
public void setName(String n) { ?name = n; }
封裝是一種多態技術。public String getId() { ?return id; }
public void setId(String ID) { ?id = ID; } }
class yhcaozuo extends yh
多態繼承封裝,{ ?private String time;//時間 ?String acount;//賬戶
?private double num; ?public yhcaozuo(String name,String id,String time,String acount,double num)
?{ ??super(name,id); ??this.time=time; ??this.acount=acount; ??this.num=num; ?? ?}
抽象封裝繼承多態的概念,?public String getTime()
{ ?? return time; ??} ?
?public void setTime(String t)
繼承多態、{ ?? time = t; ??}
?public String getAcount() { ?? return acount; ??}
??public void setAcount(String a) { ?? acount = a; ??} ???
public void setNum(double m) { ? num = m; ?}
?public void cunkuan(double m){ ? num=num+m; ?} ?//取款方法
?public void qukuan(double m){ ? if(m>num){ ?? System.out.println("余額不足,不能取款"); ? }else{ ?? num=num-m; ? } ?} ?//顯示開戶時間的方法 ?
public String kaiHuTime(){ ? Date currDate=Calendar.getInstance().getTime(); ? SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd"); ? this.time=sdf.format(currDate); ? return time; ?} ?//獲得賬上金額的方法 ?
public double GetAcountNum(){ ? return num; ?} }
package zyh; import java.util.Scanner;
import yh.yh;
public class zyh {
?public static void main(String[] args) { ?? yh bank=new yh("lucy","101"); ??
yhcaozuo bank1 = null; ??? Scanner sc=new Scanner(System.in); ???
System.out.println("請輸入你的賬戶號"); ??? String acount=sc.nextLine(); ??
? System.out.println("請輸入你的密碼"); ??? String pwd=sc.nextLine(); ???
if(pwd.equals("12345")&& acount.equals(bank1.getacount())){//如果密碼正確才能進行以下操作 ?????
while(true)
{ ?????? System.out.println("當前你的賬戶金額為:"+bank1.getnum()+"\n請輸入以下操作:"); ??????
System.out.println("1:存款"); ????
?? System.out.println("2:取款"); ?????
? System.out.println("3:顯示開戶的時間"); ?????
? System.out.println("4:獲取賬號的金額"); ??????
System.out.println("5:退出當前賬戶");????
Scanner scan=new Scanner(System.in);//同一個變量sc之間可能會有影響 可以重新new 一個 ?????
int ch=scan.nextInt(); ????? switch(ch){//選擇服務?????
case 1: ?????? System.out.println("請輸入你要存的錢"); ?????? double num=scan.nextDouble(); ?????? bank1.cunkuan(num); ?????? System.out.println("當前金額為"+bank1.getnum()); ?????? break; ???
?? case 2: ?????? System.out.println("請輸入你要取的錢"); ?????? double num1=scan.nextDouble(); ?????? bank1.cunkuan(num1); ??????
? ?System.out.println("當前余額為"+bank1.getnum());??break; ????
? case 3: ?????? System.out.println("開戶時間為:"); ?????? System.out.println(bank1kaiHuTime()); ?????? break; ????? ?????
case 4: ?????? System.out.println("當前賬戶金額為:"+bank1.getnum()); ?????? break; ?????? ????
? case 5: ?????? System.out.println("退出系統"); ?????? System.exit(0); ?????? break; ?????? default :
System.out.println("對不起,您的輸入有誤"); ?????? break; ????? } ?????? ???? } ??? }
else{ ???? System.out.println("密碼或賬戶不正確,請重新輸入"); ???? ??? } ??? ?? }
?private static char[] bank1kaiHuTime()
{ ??// TODO Auto-generated method stub ??return null; ?} }