




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、HUBEI UNIVERSITY OF AUTOMOTIVE TECHNOLOGYJAVA语言程序设计实验指导书 齐心编著翟亚红审核计算机实验教学示范中心2013年1月目录目录2实验一 Java编程环境使用3实验目的3实验导读3实验内容4实验总结7实验二 Java类编程练习8实验目的8实验导读8实验内容10实验总结21实验三 图形用户界面设计22实验目的22实验导读22实验内容23实验总结29实验四 Java事件处理30实验目的30实验导读30实验内容34实验总结41实验五 多线程程序设计42实验目的42实验导读42实验内容44实验总结49参考文献:50附录一 Java Code之多态51附录
2、二 内部类的用法54附录三 和类有关的匿名类55附录四 和接口有关的匿名类56实验一 Java编程环境使用实验目的1 掌握Java运行环境的配置2 掌握Java程序的编写、编译、运行等过程3 熟悉Java语言的基本语法和运行原理4 掌握Java的基本数据类型、表达式和程序控制结构5 熟悉Eclipse开发环境的基本使用方法实验导读1 Java的标准输入和输出流java.lang.System类提供了三种有用的标准流:标准输入流(System.in)、标准输出流(System.out)和标准出错流(System.err)。通过他们可以实现数据的输入输出操作。1) 标准输入流(System.in)
3、通常用于读取用户从键盘输入或用户定义的输入设备的输入。类java.util.Scanner结合System.in实现对指定数据的输入。2) 标准输出流(System.out)用于程序的输出,通常用来在屏幕或用户指定的输出设备上显示信息。有两种典型用法:System.out.print(data)实现在当前位置输出数据,System.out.println(data)实现换行输出数据到屏幕或用户定义的输出设备。3) 标准出错流(System.err)用于显示出错信息,采用System.err.print(data)或System.err.println(data)将指定的data输出到指定的输出
4、设备,默认设备为屏幕。2 javax.swing.JOptionPane对话框式的输入和输出,可以提供较好的界面处理。能通过弹出一个标准对话框,来提示用户。可以通过这个性质来实现具有对话框显示效果的数据输入和输出。例如:String str=JOptionPane.showInputDialog("输入您的猜测:");3 java.util.Scannerjava.util.Scanner类可将文本转换成原语或字符串。Scanner对象通过next()系列方法将文本标识转换成不同类型的值。通常和标准输入流(System.in)结合,允许用户通过标准输入流读入数据。Scann
5、er类提供的方法:nextByte()、nextshort()、nextLong()、nextDouble()、nextFloat()、nextInt()等。例如: Scanner scanner=new Scanner(System.in); int i=Int(); /从键盘输入一个整数 scanner.close();4 Java Applet小应用程序Java Applet必须由浏览器来运行,因此必须编写一个超文本文件(含有applet标记的Web页),通知浏览器来运行这个Java Applet。下面是一个简单的HTML文件,使用记事本编辑如下:<applet code= App
6、letTest.class height=300 width=300></applet>超文本中的标记<applet>和</applet>用于通知浏览器运行一个Java Applet,code通知浏览器运行哪个Java Applet。code的=后面是主类的字节码文件,width和height规定了Java Applet的宽度和高度。如果如果HTML文件和字节码文件不在同一目录里,必须在HTML文件中增加选项codebase,来指定小程序中.class文件所在的目录。实验内容1. 设置实验环境1) 安装JDK:下载JDK包以后,按安装向导的提示依次安装
7、。2) 更新环境变量:a) 在“我的电脑”单击“属性”菜单项,进入“系统属性”对话框;b) 选择“高级”选项页;单击“环境变量”按钮,弹出“环境变量”对话框;c) 选择“新建系统变量”,弹出“新建系统变量”对话框,在“变量名”文本框输入“JAVA_HOME”,在“变量值”文本框输入JDK的安装路径;d) 编辑“系统变量”中的”path”变量的值,在“变量值”最后增加JDK安装目录下的bin目录,例如”%JAVA_HOME%bin; ”;e) 在“系统变量”选项区域中查看CLASSPATH 变量,如果不存在,则新建变量CLASSPATH,否则选中该变量,单击“编辑”按钮,在“变量值”文本框的起始
8、位置添加”.;%JAVA_HOME%libdt.jar;%JAVA_HOME%libtools.jar;”。3) 进入命令行控制台,分别输入“java“、“java -version“和“javac“命令,看是否能够出现正确的提示信息(注意:配置完成后需将原来打开的命令提示符窗口关闭并重新打开运行)。2. 简单应用程序的编写1) 在D盘上建立javalab文件夹;2) 打开记事本,在其中输入以下代码;public class PrintA public static void main(String arg)System.out.println(" ");System.ou
9、t.println(" ");System.out.println(" ");System.out.println(" ");3) 将其保存在javalab目录下,并命名为PrintA.java;4) 打开命令行窗口,输入:C:Documents and SettingsAdministrator>d:D:>cd javalabD:javalab>5) 运行:D:javalab>javac PrintA.java6) 查看是否已经生成class文件;D:javalab>dir/w. . PrintA.ja
10、va PrintA.class7) 运行程序查看结果是否正确。D:javalab>java PrintA 8) 修改PrintA.java的文件名为printa,然后重新编译会有什么结果?为什么?9) 修改PrintA.java文件中的main方法为main1,然后重新编译并运行会有什么结果?为什么?3. 简单Applet的编写1) 打开记事本,在其中输入以下代码;import java.awt.*;import java.applet.Applet;public class AppletTest extends Appletpublic void init()setBackground
11、(Color.cyan);public void paint(Graphics g) g.setColor(Color.blue); /在Java Applet中绘制一行文字:“这是一个Java Applet 程序” g.drawString("这是一个Java Applet 程序",10,30); g.setColor(Color.red); g.setFont(new Font("宋体",Font.BOLD,36);/在Java Applet中绘制一行文字:“我改变了字体” g.drawString("我改变了字体",10,100
12、); 2) 将其保存在javalab目录下,并命名为AppletTest.java;3) 将其编译成.class文件;4) 打开记事本,在其中输入以下代码:<applet code= AppletTest.class height=300 width=300></applet>5) 将其保存在javalab目录下,并命名为AppletTest.html;6) 在命令行下运行:D:javalab>appletviewer AppletTest.html7) 还有一种查看方式,就是直接双击AppletTest.html,直接在浏览器中查看结果。8) 将文件中class
13、前面的public去除后再编译运行,看看会有什么结果,为什么?9) 如果将class文件放置在D:classes目录下,应该怎样修改AppletTest.html文件?如果将其放置在AppletTest.html所在文件夹的classes子目录下还可以怎样写?4. String类的常用方法(StringExample.java)阅读分析下面程序,把程序中的代码补充完整,并查看结果。public class StringExample public static void main(String args) String s1 = new String("you are a stude
14、nt"), s2 = new String("how are you");if (【补充代码】) / 使用equals方法判断s1与s2是否相同System.out.println("s1与s2相同"); else System.out.println("s1与s2不相同");String s3 = new String("22030219851022024");if (【补充代码】) / 判断s3的前缀是否是“220302”System.out.println("吉林省的身份证");
15、String s4 = new String("你"), s5 = new String("我");if (【补充代码】)/ 按着字典序s4大于s5的表达式System.out.println("按字典序s4大于s5"); else System.out.println("按字典序s4小于s5");int position = 0;String path = "c:javajspA.java"position = 【补充代码】/ 获取path中最后出现的位置System.out.println(
16、"c:javajspA.java中最后出现的位置:" + position);String fileName = 【补充代码】/ 获取path中“A.java”子字符串System.out.println("c:javajspA.java中含有的文件名:" + fileName);String s6 = new String("100"), s7 = new String("123.678");int n1 = 【补充代码】 / 将s6转化成int型数据double n2 = 【补充代码】 / 将s7转化成doub
17、le型数据double m = n1 + n2;System.out.println(m);String s8 = 【补充代码】 / String调用valuOf(double n)方法将m转化为字符串对象position = s8.indexOf(".");String temp = 【补充代码】 / 获取s8中小数点后面的小数System.out.println("数字" + m + "有" + temp.length() + "位小数");String s9 = new String("ABCDEF
18、");char a = 【补充代码】 / 将s9存放到数组a中for (int i = a.length - 1; i >= 0; i-) System.out.print(" " + ai);5. 在控制台下求两个实数的最大值(CompareTwoNumbers.java)要求:从键盘输入任意两个实数,比较两个数字的大小,将较大的数输出。数据输入和输出用Java的标准输入流和输出流来实现。请按照代码提示编写完整程序,并查看结果。代码提示:import java.util.Scanner; /导入Scanner对象;Scanner scanner = new
19、 Scanner(System.in);/实例化一个Scanner对象;number1 = scanner.nextDouble();/从键盘输入一个实数赋值给number1;6. 猜数字游戏(GuessNumber.java)要求:系统生成一个1至100之间的随机整数(sysNumber),利用JoptionPane对话框输入你的猜测整数(guessNumber),循环猜测两个数是否相等,如果(guessNumber>sysNumber),则提示“猜大了,再输入你的猜测:”,并重新输入新的猜测整数,如果(guessNumber<sysNumber),则提示“猜小了,再输入你的猜测
20、:”,并重新输入新的猜测整数,直到相等控制台打印“猜对了”。请按照代码提示编写完整程序,并查看结果。代码提示:/生成1至100之间的随机数int sysNumber = (int)(Math.random()*100)+1;/输入你的猜测,注意数据类型的转换String str = JOptionPane.showInputDialog("输入您的猜测:"); guessNumber = Integer.parseInt(str); 7. 编写Java程序(SwapMatrix.java)要求:定义一个二维数组,并给二维数组赋值,分别打印原二维数组和行列互调后的二维数组。
21、显示出的结果为 实验总结 请书写你对本次实验有哪些实质性的收获和体会,以及对本次实验有何良好的建议?实验二 Java类编程练习实验目的1 掌握类及类的声明2 掌握对象的定义和使用3 掌握接口的定义与实现实验导读继承、封装和多态是Java面向对象的3大特性,它们是面向对象程序开发的重要环节。继承机制的使用可以复用一些定义好的类,减少重复代码的编写。多态机制可以动态调整对象的调用,降低对象之间的依存关系。同时为了优化继承与多态,一些类除了继承父类还可以使用接口的形式,Java中的类可以同时实现多个接口,接口被用来建立类与类之间关联的标准。1 类的继承(extends)继承可以理解为现实世界中的“是
22、一种(is-a)”关系,实现继承是通过extends关键字在声明类的时候指定其父类,其声明格式如下:修饰符 class 类名 extends 父类名继承某个父类而生成新的子类不但拥有父类的变量与方法,还可以为子类添加新的成员变量和成员方法,以增强父类的功能,也就是所谓的扩展。还可以使用super关键字引用父类的方法,然后再添加新的业务代码。甚至还可以在子类中为父类的某个方法定义多个重载方法,增加该类的灵活性。2 访问修饰符Java中定义了private、public、protected和默认的访问修饰符,这些修饰符控制着对类和类的成员变量以及成员方法的访问规则。另外,还可以辅助static和f
23、inal关键字定义特殊规则。访问包位置类修饰符修饰符Privateprotected默认修饰符Public本类可见可见可见可见同包其他类不可见可见可见可见其他包的类不可见不可见不可见可见同包的子类不可见可见可见可见其他包的子类不可见可见不可见可见public是公有类型的权限修饰符,使用public修饰的类、成员变量和成员方法,其他类都可以访问,包括任意包中的任意类以及子类。private是私有类型的权限修饰符,使用private修饰的成员变量和成员方法,只能在本类中被使用,在子类中是不可见的,并且对其他包的类也是不可见的。protected是保护级别的权限修饰符,它保护成员不会被其他包或非子类
24、访问。也就是说protected修饰的成员只能被子类和同一包中定义的其他类访问。当不添加任何权限修饰符时,编译器会使用默认权限修饰符,该修饰符的权限级别与protected类似,不同之处在于,其他包定义的子类无法访问父类默认权限修饰的成员。3 封装(encapsulation)封装是指把对象的属性隐藏在对象的内部,不允许外部直接访问和修改。Java规范中的设置器和访问器就是实现封装的标准方法,它们用于设置和获取对象的属性值。设置器方法的命名一般以set作为方法名的前缀,以属性名作为后缀。访问器方法的命名一般以get或is作为方法名称的前缀,以属性名作为后缀。对于boolean类型的属性,应该使
25、用is前缀定义访问器 方法。例如:public class Car private String color;private boolean running;public String getColor() return color;public void setColor(String color) this.color = color;public boolean isRunning() return running;public void setRunning(boolean running) this.running = running;4 Object类在Java中,所有的类都直接或
26、间接继承了java.lang.Object类,它是所有类的父类。Object类中常用的两个方法为equals()和toString()方法。任何类都可以重写Object类中的方法。5 对象的上转型对象假设B类是A类的子类或间接子类,当我们用子类B创建一个对象,并把这个对象的引用放到A类的对象中时:A a = new B(); 称这个A类对象a是子类对象b的上转型对象。l 上转对象不能操作子类新增的成员变量(失掉了这部分属性);不能使用子类新增的方法(失掉了一些功能)。l 上转型对象可以操作子类继承或隐藏成员变量,也可以使用子类继承的或重写的方法。l 上转型对象操作子类继承或重写的方法时,就是通
27、知对应的子类对象去调用这些方法。因此,如果子类重写了父类的某个方法后,对象的上转型对象调用这个方法时,一定是调用了这个重写的方法。l 可以将对象的上转型对象再强制转换到一个子类对象,这时,该子类对象又具备了子类所有属性和功能。6 多态(polymophism)多态性就是指父类的某个方法被其子类重写时,可以各自产生自己的功能行为。当一个类有很多子类时,并且这些子类都重写了父类中的某个方法。那么当我们把子类创建的对象的引用放到一个父类的对象中时,就得到了该对象的一个上转型对象,那么这个上转的对象在调用这个方法时就可能具有多种形态。多态性的实现:通过方法的重载(overloading)、覆盖(ove
28、rriding)和接口来实现。l 方法重载是Java实现面向对象的多态性机制的一种方式。同一个类中多个方法有相同的名字,不同的参数列表,这种情况称为方法重载。返回类型不同并不足以构成方法重载。当重载方法被调用时,编译器根据参数的类型和数量来确定实际调用哪个重载方法的版本。l 方法覆盖是Java实现多态性机制的另一种方式。在类层次结构中,如果子类中的一个方法与父类中的方法有相同的方法名并具有相同数量和类型的参数列表,这种情况称为方法覆盖。当一个覆盖方法通过父类引用被调用,Java根据当前被引用对象的类型来决定执行哪个版本的方法。可以通过super关键字调用直属父类中被覆盖的方法版本。参考代码:附
29、录一 Java Code之多态。7 接口接口是特殊的类,只有方法的原型,方法的实现在其子类中具体定义。Java不支持多继承性,即一个类只能有一个父类。单继承性使得Java简单,易于管理程序。为了克服单继承的缺点,Java使用了接口,一个类可以实现多个接口。一个类通过使用关键字implements 声明自己使用一个或多个接口。如果使用多个接口,用逗号隔开接口名。如:class A implements Printable,Addable如果一个类使用了某个接口,那么这个类必须实现该接口的所有方法,即为这些方法提供方法体。接口只关心功能,并不关心功能的具体实现。接口回调是指:可以把实现某一接口的类
30、创建的对象的引用赋给该接口声明的接口变量中。那么该接口变量就可以调用被类实现的接口中的方法。实际上,当接口变量调用被类实现的接口中的方法时,就是通知相应的对象调用接口的方法。参考代码:附录四 和接口有关的匿名类8 内部类Java支持在一个类中声明另一个类,这样的类称作内部类,而包含内部类的类成为内部类的外嵌类。 内部类的外嵌类的成员变量在内部类中仍然有效,内部类中的方法也可以调用外嵌类中的方法。内部类的类体中不可以声明类变量和类方法。外嵌类的类体中可以用内部类声明对象,作为外嵌类的成员。参考代码:附录二 内部类的用法9 匿名类l 和类有关的匿名类当使用类创建对象时,程序允许我们把类体与对象的创
31、建组合在一起,也就是说,类创建对象时,除了构造方法还有类体,此类体被认为是该类的一个子类去掉类声明后的类体,称作匿名类。匿名类就是一个子类,由于无名可用,所以不可能用匿名类声明对象,但却可以直接用匿名类创建一个对象。匿名类一定是内部类,匿名类可以继承父类的方法也可以重写父类的方法,匿名类可以访问外嵌类中的成员变量和方法,匿名类的类体中不可以声明static成员变量和static方法。匿名类的主要用途就是向方法的参数传值。参考代码:附录三 和类有关的匿名类l 和接口有关的匿名类Java允许直接用接口名和一个类体创建一个匿名对象,此类体被认为是实现了接口的类去掉类声明后的类体,称作匿名类。参考代码
32、:附录四 和接口有关的匿名类实验内容1. 对象的创建和使用编写一个圆环类Ring的Java程序。圆环类有3个数据成员,分别是内半径innerRadius,外半径outerRadius和颜色color,这些属性通过get和set方法进行封装。另外,圆环类中的getArea方法可以返回其面积。把程序中的代码补充完整,并查看结果。public class Ring private double innerRadius; private double outerRadius; public String color; public Ring(double iRadius, double oRadius
33、, String c) /初始化数据成员【补充代码】 /用get和set方法封装数据成员【补充代码】 public double getArea() 【补充代码】 public static void main(String args) Ring ring = new Ring(5,8,"red");System.out.println("圆环的内半径: " + ring.getInnerRadius( );System.out.println("圆环的外半径: " + ring.getOuterRadius( );System.ou
34、t.println("圆环的颜色: " + ring.color); System.out.println("圆环的面积: " + ring.getArea() + "n");ring.setInnerRadius(4);【补充代码】 /设置圆环ring的外半径为6ring.setColor("blue");System.out.println("圆环的内半径: " + ring.getInnerRadius( );System.out.println("圆环的外半径: "
35、+ ring.getOuterRadius( );System.out.println("圆环的颜色: " + ring.color); System.out.println("圆环的面积: " + ring.getArea(); 思考:1) 将程序中的语句Ring ring = new Ring(5,8,"red"); 改成Ring ring = new Ring();修改后编译运行,此时有错误发生吗?分析错误的原因。2) 接着为程序添加一个如下所示的默认构造函数,观察程序运行是否还有上述错误发生?public Ring() inn
36、erRadius = 1.0; outerRadius = 2.0; color = "white" 3) 如果在输出圆环的面积时要求保留两位小数,程序如何修改?4) 请为圆环类Ring在添两个方法以便能返回内圆和外圆的周长,然后在主函数main()中分别创建两个对象ring1,ring2以显示周长。2. 使用类来封装对象的属性和功能编写一个Java程序,该程序中有3个类:Trangle、Lader和Circle,分别用来刻画“三角形”、“梯形”和“圆形”。具体要求如下:Trangle类具有类型为double的三个边(sideA,sideB,sideC),以及周长(leng
37、th)、面积(area)属性,Trangle类具有返回周长(getLength)、面积(getArea)以及修改三个边(setABC)的功能。另外还有一个boolean型的属性(boo),该属性用来判断三个数是否构成一个三角形。Lader类具有类型为double的上底(above)、下底(bottom)、高(height)、面积(area)属性,具有返回面积(getArea)的功能。Circle类具有类型为double的半径(radius)、周长(length)和面积(area)属性,具有返回周长(getLength)、面积(getArea)的功能。把程序中的代码补充完整,并查看结果。/ Tr
38、angle .javaclass Trangle double sideA,sideB,sideC,area,length; boolean boo; public Trangle(double a,double b,double c) /带参数的构造方法 setABC(a,b,c); double getLength() /方法体,要求计算出length的值并返回 【补充代码仿照getArea()方法编写】 public double getArea() if(boo) double p=(sideA+sideB+sideC)/2.0; area=Math.sqrt(p*(p-sideA)*
39、(p-sideB)*(p-sideC) ; return area; else System.out.println("不是一个三角形,不能计算面积"); return 0; public void setABC(double a,double b,double c) /参数a,b,c分别赋值给sideA,sideB,sideC 【补充代码】 if(【补充代码】) /a,b,c构成三角形的条件表达式 【补充代码】 /给boo赋值。 else 【补充代码】 /给boo赋值。 / Lader.javaclass Lader double above,bottom,height,
40、area; Lader(double a,double b,double h) /带参数的构造方法,将参数a,b,h分别赋值给above,bottom,height 【补充代码】 double getArea() /方法体,,要求计算出area返回 【补充代码】 / Circle.javaclass Circle double radius,area, length; Circle(double r) /带参数的构造方法 【补充代码】 double getArea() /方法体,要求计算出area返回 【补充代码】 double getLength() /getArea方法体的代码,要求计算出
41、length返回【补充代码】 void setRadius(double newRadius) radius=newRadius; double getRadius() return radius; / AreaAndLength.javapublic class AreaAndLength public static void main(String args) double length,area; Circle circle = null; Trangle trangle = null; Lader lader = null; 【补充代码】 /创建对象circle(半径为5) 【补充代码
42、】 /创建对象trangle(边长分别为3,4,5) 【补充代码】 /创建对象lader 【补充代码】 / circle调用方法返回周长并赋值给length System.out.println("圆的周长:"+length); 【补充代码】 / circle调用方法返回面积并赋值给area System.out.println("圆的面积:"+area); 【补充代码】 / trangle调用方法返回周长并赋值给length System.out.println("三角形的周长:"+length); 【补充代码】 / trangle
43、调用方法返回面积并赋值给area System.out.println("三角形的面积:"+area); 【补充代码】 / lader调用方法返回面积并赋值给area System.out.println("梯形的面积:"+area); 【补充代码】 / trangle调用方法设置三个边,要求将三个边修改为12,34,1。 【补充代码】 / trangle调用方法返回面积并赋值给area System.out.println("三角形的面积:"+area); 【补充代码】 / trangle调用方法返回周长并赋值给length Sys
44、tem.out.println("三角形的周长:"+length); 3. 掌握上转型对象的使用,多态的特性定义一个抽象(abstract)类,类名为Employee。 Employee的子类有YearWorker、MonthWorker和WeekWorker。YearWorker对象按年领取薪水(每年10万),MonthWorker对象按月领取薪水(每月1万),WeekWorker对象按周领取薪水(每周0.5万,设定一个月4周)。Employee类有一个抽象(abstract)方法:public abstract double earnings();子类必须重写父类的ea
45、rnings()方法,给出各自领取每年报酬的具体方式。有一个Company类,该类用Employee数组作为成员,Employee数组的单元可以是YearWorker对象、MonthWorker对象、WeekWorker对象的上转型对象。程序能输出Company对象一年需要支付的薪水总额。请按模版要求,将代码补充完整。abstract class Employee public abstract double earnings();class YearWorker extends Employee 【补充代码】/重写earnings()方法class MonthWorker extends E
46、mployee 【补充代码】/重写earnings()方法class WeekWorker extends Employee 【补充代码】/重写earnings()方法class Company Employee employees;double salaries = 0;Company(Employee employees) this.employees = employees;public double salariesPay() salaries = 0;【补充代码】/计算salariesreturn salaries;public class HardWork public stati
47、c void main(String args) Employee employees = new Employee20;for (int i = 0; i < employees.length; i+) if(i%3=0)employeesi = new WeekWorker();else if(i%3=1)employeesi = new MonthWorker();else if(i%3=2)employeesi = new YearWorker();Company company = new Company(employees);System.out.println("
48、公司年工资总额:" + company.salariesPay();4. 掌握嵌套类和内部类的概念和用法编写一个程序要求定义一个外部类Outer,然后在Outer类中定义一个内部类Inner和局部类Local,内部类Inner和局部类Local的任务都是显示出外部类中的数组元素,然后求出这些数组元素的平均值。请按模版要求,将代码补充完整。class Outer private int data;Outer(int x) data = x;void checkInner() Inner innerObj = new Inner();【补充代码】 / 调用Inner对象的show()方法
49、System.out.println("内部类计算的平均值: " + innerObj.average();void checkLocal() class Local void show() System.out.print("从局部类显示数组元素:");for (int i = 0; i < data.length; i+) System.out.print(datai + " ");System.out.println();int average() int sum = 0;for (int i = 1; i < da
50、ta.length; i+) sum += datai;【补充代码】 / 返回data数组的平均值Local localObj = new Local();localObj.show();System.out.println("局部类计算的平均值: " + localObj.average();class Inner void show() System.out.print("从内部类显示数组元素:");for (int i = 0; i < data.length; i+) 【补充代码】 / 打印data数组的每个元素System.out.pri
51、ntln();int average() int sum = 0;for (int i = 1; i < data.length; i+) sum += datai;return sum / data.length;public class InnerClassTest public static void main(String args) int a = 6, 8, 9, 22, 34, 7, 2, 1, 15 ;Outer outerObj = new Outer(a);outerObj.checkInner();【补充代码】 / 调用outerObj对象的checkLocal方法
52、5. 编写一个学生信息管理系统,掌握接口的定义方法以及类的继承、封装和多态的特性。图 学生信息管理系统类图1) 定义学生类Student.java,该类有学号、姓名和系部三个成员变量,并用get和set方法进行属性的封装,请参考类图进行编写。2) 定义接口IStudentDAO,其中包含下列数据操作方法/ 插入学生信息记录public void insertStudent(Student stu);/ 删除指定学号学生信息记录public void deleteStudent(String sno);/ 更新指定学生信息记录public void updateStudent(Student stu);/ 按学号查询指定学生信息记录public Student findStudentBySno(String sno);/ 显示指定学号学生信息记录public void displayStudentBySno(String sno);/ 显示所有学生信息记录public void displayAllStudent();3) 定义接口IStudentDAO的实现类StudentDAOImpl,其中包含一个静态的集合对象用来保存学生信息记录,以及接口的所有实现方法,请参考类图进行编写。代码提示:static List<Student> stude
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论