您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 冶金工业 > 武汉科技大学java实验一二附代码
武汉科技大学Java及移动开发实验报告二○一七----二○一八学年第二学期学院:信息科学与工程学院专业:通信工程班级:通信1502班学号:201504163050姓名:方翠群指导老师:邱奕敏二○一八年5月4日一、实验目的1)掌握类的封装机制2)掌握类的继承机制。3)熟悉类中成员变量和方法的访问控制。4)熟悉方法或构造方法多态性。5)熟悉抽象类、接口的定义方法。6)掌握程序、进程与线程之间的关系。7)多线程的创建。8)线程的同步与共享。二、实验内容1)编写程序实现如下功能:已知Person类包含三个公共域变量(姓名、性别、年龄)和一个构造方法,Student类是Person类的派生类,包含两个新的公共域变量(学号、班号)、两个公共方法(修改年龄、显示基本信息)及一个构造方法。定义一组学生对象,并初始化他们的基本信息,然后依次输出。2)输入课本例5-4的源程序,观察其运行结果,然后将Shape类分别定义为一个抽象类和接口,然后将源程序进行修改,让其实现相同功能。3)民航共有10张机票,开设3个售票窗口,编写多线程程序实现一张票只能由一个窗口售出功能。三、实验代码代码1:packagefangcuiqun;publicclassPerson{publicStringname;publiccharsex;publicintage;Person(Stringname,charsex,intage){this.name=name;this.sex=sex;this.age=age;}}classStudentextendsPerson{publicStringclassno;publicStringsno;publicvoidupdateAge(intage){this.age=age;}voidToString(){System.out.println(name++sex++age++classno++sno);}Student(Stringname,charsex,intage,Stringclassno,Stringsno){super(name,sex,age);this.classno=classno;this.sno=sno;}}classTest{publicstaticvoidmain(String[]args){Studentst[]=newStudent[4];st[0]=newStudent(方翠群,'男',20,1,01);st[2]=newStudent(尹鑫,'男',21,3,03);st[1]=newStudent(颜锐,'男',19,7,01);st[3]=newStudent(杨子豪,'男',20,1,07);for(inti=0;i4;i++){st[i].ToString();}}}代码2:packagefangcuiqun;publicclassTestVirtualInvoke{staticvoiddoStuff(Shapes){s.draw();}publicstaticvoidmain(String[]args){Circlec=newCircle();Trianglet=newTriangle();Linel=newLine();doStuff(c);doStuff(t);doStuff(l);}}classShape{voiddraw(){System.out.println(ShapeDrawing);}}classCircleextendsShape{voiddraw(){System.out.println(DrawCircle);}}classTriangleextendsShape{voiddraw(){System.out.println(DrawThreeLines);}}classLineextendsShape{voiddraw(){System.out.println(DrawLine);}}代码3:packagefangcuiqun;classTicketimplementsRunnable{privateintTicketNum=10;privatebooleanflag=true;privatesynchronizedvoidsale(){if(TicketNum=0){flag=false;return;}TicketNum--;System.out.println(Thread.currentThread().getName()+卖了一张票,还剩+TicketNum+张票。);}publicvoidrun(){while(flag){sale();try{Thread.sleep(200);}catch(InterruptedExceptione){e.printStackTrace();}}}}publicclassSailTicket{publicstaticvoidmain(Stringargs[]){Tickett=newTicket();Threadth1=newThread(t,窗口1);Threadth2=newThread(t,窗口2);Threadth3=newThread(t,窗口3);th1.start();th2.start();th3.start();}}四、实验结果代码1结果:代码2结果:代码3结果:五、实验小节在实验室做实验的时候,琢磨了很久都没有搞懂,同学告诉我多看书上的例题与讲解,我看了很多遍还是没有搞懂。直到今天重新捡起书本沉下心来研究了一晚上,终于搞懂了其中的奥秘,原来java实验这么简单,而且随着进一步的探究,会发现原来java这门语言这么有趣,比C语言人性化多了。经过这次自己独立的尝试,以及这次小小的成功,激起了我更大的学习欲望,后面的实验一定将更加努力的!
本文标题:武汉科技大学java实验一二附代码
链接地址:https://www.777doc.com/doc-7179184 .html