实验五
- 格式:doc
- 大小:82.50 KB
- 文档页数:6
实验五接口综合练习【上机目的】1)掌握属性存取器的使用2)掌握super关键字3)掌握final关键字4)掌握abstract关键字5)理解抽象类与抽象方法6)理解并掌握接口的定义与使用【上机环境】JDK1.6+Eclpise3.2或者My Eclpise2013【上机准备】1)复习课件中理论知识2)练习课堂所讲的例子【上机内容】1、创建一个用户类(User),具体如求如下:定义私有成员变量:用户ID(userid)、账号(username)、密码(password)、姓名(realname)、年龄(age)、性别(sex)、电话(phone)、是否是管理员(isAdmin),并为这些成员变量设置属性存取器。
代码:package com;class User{private String userid;private String username;private int password;private String realname;private int age;private String sex;private int phone;public User(String userid, String username, int password, String realname, int age, String sex, int phone){erid=userid;ername=username;this.password=password;this.realname=realname;this.age=age;this.sex=sex;this.phone=phone;}public String getuserid(){return userid;}public void setuserid(String userid){ erid=userid;}public String getusername(){return username;}public void setusername(String username){ ername=username;}public int getpassword(){return password;}public void setpassword(int password){ this.password=password;}public String getrealname(){return realname;}public void setrealname(String realname){ this.realname=realname;}public int getage(){return age;}public void setage(int age){this.age=age;}public String getsex(){return sex;}public void setsex(String sex){this.sex=sex;}public int getphone(){return phone;}public void setphone(int phone){this.phone=phone;}}class text5_1 {/*** @param args*/public static void main(String[] args) {// TODO Auto-generated method stubUser origin=new User(null, null, 0, null, 0, null, 0);origin.setuserid("201301014214");origin.setusername("123456");origin.setpassword(123);origin.setrealname("hui");origin.setage(21);origin.setsex("女");origin.setphone(666666);System.out.println("userid="+origin.getuserid());System.out.println("username="+origin.getusername());System.out.println("password="+origin.getpassword());System.out.println("realname="+origin.getrealname());System.out.println("age="+origin.getage());System.out.println("sex="+origin.getsex());System.out.println("phone="+origin.getphone());}}结果:2、创建一个带有修饰符的鱼类(Fish),具体如求如下:1)为鱼类设计2个成员方法:一个带有final修饰的方法游动(swim)(无参、无返回值)、一个普通方法跳跃(jump)(无参、无返回值);2)为鱼类设计一个带有final修饰的成员变量livePlace,初始值为“水中”;3)创建鱼类的子类鲤鱼(Liyu),并设计一个成员方法jump,覆盖鱼类的jump方法(要求:在实现方式中要调用到鱼类的jump方法)。
class Fish{final String livePlace="水中";final void swim(){System.out.println("鱼儿在水中游");}void jump(){System.out.println("鱼儿水中跳");}}class Liyu extends Fish{void jump(){super.jump();System.out.println("鲤鱼在跳跃");}}public class Wuyue {public static void main(String[] args) {Liyu lili=new Liyu();lili.jump();System.out.println("鱼儿生活在"+lili.livePlace);lili.swim();}}3、编写一个Java应用程序,除了主类(TestTwo)外,该程序还有Shape接口、三角形类Triangle类、矩形Rectangle类。
该程序具体要求如下:1)Shape接口public abstract double computeArea(double a,double b)抽象方法。
2)Triangle类实现Shape接口,完成计算面积的功能:用a代表三角形的底、b代表三角形的高。
3)Rectangle类实现Shape接口,完成计算面积的功能:有a代表矩形的底、b代表矩形的高。
4)在TestTwo类的主方法中分别创建各子类的对象并调用各自的计算面积的方法,并打印输出信息面积信息。
(要求使用到多态性)interface shape{public abstract double computeArea(double a,double b);}class Triangle implements shape{double bottom;double h;public double computeArea(double bottom,double high){return bottom*high/2;}}class Rectangle implements shape{float chang;float kuan;public double computeArea(double length,double width){return length*width;}}public class Text {public static void main(String[] args) {Triangle tangle=new Triangle();System.out.println("三角写的面积:"+puteArea(51.3, 78.4));Rectangle juxing=new Rectangle();System.out.println("矩形的面积"+puteArea(32.5, 21.5));}}实验总结:通过本次的上机实验,我懂得了属性存取器的使用例如super关键字final 关键字abstract关键字理解了抽象类与抽象方法并掌握接口的定义与使用,其中super可以调用父类中重写的方法,还可以访问父类中被隐藏的字段,无参构造方法,final关键字修饰变量或构造方法,称为最终变量或最终方法。
虽然还不太熟练但是我会努力的,因为我相信功夫不负有心人。