如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
Java面向对象程序设计JAVA中的OOPJAVA中的OOP(续)JAVA中类的结构类的例子:类的例子:续JAVA中类的声明JAVA中类的声明(续)类的成员变量的声明类的封装与数据隐藏成员变量的声明(续)成员变量的声明:例方法:语法结构方法的定义方法的声明(续)方法的声明(续)方法体方法的定义(例)方法的参数引用类型值传送各变量的作用域24例:银行业务的面向对象设计例:银行业务classBankAccount{//银行账户类privatefloatbalance;//默认初值为0privatefloatinterest_rate;privateintday,month,year;publicfloatget_balance(){returnbalance;}//查询余额publicvoiddeposit(floatmoney){balance+=money;}//存钱方法}publicclassUseAccount{//主类publicstaticvoidmain(Stringargs[]){BankAccountmyAccount=newBankAccount();myAccount.deposit(1000.0f);System.out.println(“本账户余额为:$"+myAccount.get_balance());}}classBankAccount{//银行账户类privatefloatbalance;privatefloatinterest_rate;privateDatestart_date=newDate();publicfloatget_balance(){returnbalance;}publicfloatget_interest_rate(){returninterest_rate;}publicDateget_start_date(){returnstart_date;}//注意返回值类型publicvoidset_start_date(intd,intm,inty){…}}classDate{//日期类privateintday=25,month=10,year=2002;publicStringshowDate(){returnyear+"-"+month+"-"+day;}}publicclassUseAccount{//主类publicstaticvoidmain(Stringargs[]){BankAccountmyAccount=newBankAccount();System.out.println("本账户开户日期为:"+myAccount.get_start_date().showDate());}}类的定义(封装)小结类的定义-实验复数的四则运算法则方法重载(overloading)方法重载的类型同类中的方法重载:例方法重载的条件方法重载的特点this只能在方法中使用,表示当前对象。publicclassMyDate{privateintday=10;privateintmonth=10;privateintyear=2010;publicMyDate(intday,intmonth,intyear){this.day=day;//如果不加this会有何结果?this.month=month;this.year=year;}publicStringtommorrow(){this.day=this.day+1;//如果不加this会有何结果?returnthis.day+"/"+this.month+"/"+this.year;}publicstaticvoidmain(String[]args){MyDated=newMyDate(12,4,2004);System.out.println(d.tommorrow());}}构造方法(constructor)构造方法(例)构造方法的特点构造方法的特点(续)构造方法的缺省构造方法的缺省:例以“this”调用构造方法Java中对象的生命周期Java中对象的创建对象初始化三步曲对象的使用对象的回收C++:A*a=newA();A*b=a;A*c=a;子类表示类之间一种“属于”(isa)关系。例:publicclassEmployee{Stringname;DatehireDate;DatedateofBirth;StringjobTitle;intgrade;…}Java中用extends关键字定义子类。类的继承类的继承:扩展57类的继承:上溯造型Java允许父类对象的变