您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > JAVA培训总结,重点都有2
练习:1、设计一个间谍类,里面有“间谍”,实现信息的隐藏。(典型的封装)//将信息隐藏起来但是允许使用者使用信息classJianDie{privateString间谍;//声明间谍属性//写数据publicvoidsetJD(Stringjd){间谍=jd;//通过参数为属性初始化}//读数据publicStringgetJD(){return间谍;}}classUserJianDie{publicstaticvoidmain(Stringargs[]){JianDiej=newJianDie();j.setJD(args[0]);System.out.println(j.getJD());}}2、封装的利与维护性classLinXi{privateStringname;publicvoidsetN(Stringn1){name=n1;}publicStringgetN(){returnname;}}classA{publicvoidaa(){LinXil=newLinXi();l.setN(aa);}}classB{publicvoidbb(){LinXil=newLinXi();l.setN(shfh);;}}classC{publicvoidcc(){LinXil=newLinXi();l.setN(sdhgdf);;}}3、设计一个登录类,里面有username,password要求:username:2-16个字符password:6位数字publicclassLogon//登录类型{privateStringusername;//隐藏privateintpassword;//密码//写数据publicvoidsetUserName(Stringname){if(name.length()=2&&name.length()=16){username=name;}else{username=非法用户名;//为什么不是输出语句?}}//读数据publicStringgetUserName(){returnusername;}//写数据publicvoidsetPassWord(intma){if(ma=100000&&ma=999999){password=ma;}else{password=-1;}}publicintgetPassWord(){returnpassword;}}//客户端程序classUserLogon{publicstaticvoidmain(Stringargs[]){Logonl=newLogon();//实例化对象//发送消息l.setUserName(args[0]);Stringname=l.getUserName();//处理数据System.out.println(name);l.setPassWord(Integer.parseInt(args[1]));intp=l.getPassWord();if(p!=-1){System.out.println(密码是+p);}else{System.out.println(非法的密码);}}}例子:电话类,手机类publicclassTel//已经存在的类型即父类{Stringnumber;//电话号码Stringcolor;publicvoidcall(Stringnum){System.out.println(向+num+打电话);//向某人打电话的动作}publicvoidrecive(Stringnum){System.out.println(接到+num+的电话);//接电话}}//手机类本系统的子类publicclassMobileextendsTel{//发短消息publicvoidsendMessage(Stringnum){System.out.println(向+num+发短消息);}publicvoidplayGame(){System.out.println(打游戏);}}publicclassUserMain{publicstaticvoidmain(Stringargs[]){Mobileb=newMobile();//实例化对象b.number=+8613578796479;b.color=黑色;b.call(110);b.recive(110);b.playGame();b.sendMessage(110);}}例2:继承规则2的例子classA//父类{inta=3;publicvoidaa(){System.out.println(我是父类的aa方法);}}classBextendsA//子类{inta=4;//子类和父类出现同名的变量publicvoidaa(){inta=5;System.out.println(我是子类的aa方法);super.aa();//System.out.println(a);//System.out.println(super.a);//指向父类的引用//System.out.println(this.a);}//子类的同名变量会将父类的同名变量隐藏起来publicstaticvoidmain(Stringargs[]){Bb=newB();b.aa();}}作业:学生类,id、name、birthday、byxx毕业学校输出学生类自然信息的方法(全部输出)本科学生类,id、name、birthday、byxx、zy输出学生类自然信息的方法研究生学生类,id、name、birthday、yjfx(研究方向),byxx要求:1、通过uml去建立三个类型之间的关系2、按照建模的标准由java去实现3、功能要扩展,代码要重用//这是父类publicclassStudents1{privateintid;//声明的变量privateStringname;privateStringbyxx;//设计的有参数的构造方法(写方法)publicStudents1(intid,Stringname,Stringbyxx){this.id=id;this.name=name;this.byxx=byxx;}//设计一个成员方法(读数据)publicvoidprint1(){System.out.print(学号:+id+名字:+name+毕业学校:+byxx);}}//这是子类publicclassYanJiuShengextendsStudents1{privateStringyjfx;publicYanJiuSheng(intid,Stringname,Stringbyxx,Stringyjfx){super(id,name,byxx);this.yjfx=yjfx;}publicvoidprint3(){super.print1();System.out.println(研究方向:+yjfx);}}//这是子类publicclassBenKeextendsStudents1{privateStringzy;//声明的变量,子类特有的//设计的有参数构造方法(写数据)publicBenKe(intid,Stringname,Stringbyxx,Stringzy){super(id,name,byxx);//激活父类的构造方法,对前三个数据进行初始化this.zy=zy;}//设计一个成员方法(读数据)publicvoidprint2(){super.print1();//调用父类的方法System.out.println(专业:+zy);//输出子类特有的属性}}publicclassUserMain2{publicstaticvoidmain(Stringargs[]){Students1s=newStudents1(Integer.parseInt(args[0]),args[1],args[2]);BenKeb=newBenKe(Integer.parseInt(args[0]),args[1],args[2],args[3]);YanJiuShengy=newYanJiuSheng(Integer.parseInt(args[0]),args[1],args[2],args[4]);Dated=newDate();d.setYear(Integer.parseInt(args[5]));d.setMonth(Integer.parseInt(args[6]));d.setDay(Integer.parseInt(args[7]));s.print1();d.print4();b.print2();d.print4();y.print3();d.print4();}}练习:查询某公司内部90年后出生的员工信息。//日期的封装类publicclassDate1{privateintyear;privateintmonth;privateintday;publicDate1(intyear,intmonth,intday){//省略验证this.year=year;this.month=month;this.day=day;}//一次性的为日期进行初始化publicvoidsetYear(intyear){if(year=2013-1000&&year=2013+1000){this.year=year;}else{this.year=-1;}}publicintgetYear(){returnthis.year;}publicvoidsetMonth(intmonth){if(month=1&&month=12){this.month=month;}else{this.month=-1;}}publicintgetMonth(){returnthis.month;}publicvoidsetDay(intday){switch(this.getMonth()){case1:case3:case5:case7:case8:case10:case12:if(day=1&&day=31){this.day=day;}else{this.day=-1;}break;case4:case6:case9:case11:if(day=1&&day=30){this.day=day;}else{this.day=-1;}break;case2:if(year%4==0&&year%100!=0||year%400==0){if(day=1&&day=29){this.day=day;}else{this.day=-1;}}else{if(day=1&&day=28){this.day=day;}else{this.day=-1;}}}}publicintgetDay(){returnthis.day;}//输入日期类的所有信息publicStringtoString(){returnthis.year+年+\t+this.month+月+\t+this.day+日;}}publicclassYuanGong{privateintid;privateStringname;privateDate1birthday;//建立员工和日期之间的一对一的组合关系publicYuanGong(intid,Stringname,Date1birthday){this.id=id;this.name=name;this.birthday=birthday;}publicvoidsetId(intid){if(id=1){this.id=id;}else{this.id=-1;}}publicintgetId(){returnthis.id;}publicvoidsetName(Stringname){if(name.length()=2&&name.length()=16){this.name=name;}else{this.name=输入的姓名有误;}}pu
本文标题:JAVA培训总结,重点都有2
链接地址:https://www.777doc.com/doc-958895 .html