《Java进阶开发实战》-章节自测 (李兴华)_第1页
《Java进阶开发实战》-章节自测 (李兴华)_第2页
《Java进阶开发实战》-章节自测 (李兴华)_第3页
《Java进阶开发实战》-章节自测 (李兴华)_第4页
《Java进阶开发实战》-章节自测 (李兴华)_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Java就业编程实战1、第01章:Java常用类库1.1、填空题 在java.lang包中提供了三个字符串类,分别是 String 、StringBuffer 和 StringBuilder 。这三个类都是 CharSequence接口的子类,字符串类提供的求字符串长度的方法是 public int length。 。Math 类中 四舍五入的方法是 public static long round(double a)。对象克隆方法是Object类提供的,方法名称是public Object clone () therws CloneNotSupportException ,对象所在的类必须实

2、现 java.lang. Cloneable接口。String 类的 matches。 、 split。 、 replaceAlK) 、 replaceFirst。 四个方法可以使用正那么。5、为了便于每一个线程进行各自对象的存储,可以使用ThreadLocal类完成。6、自定义事件可以实现松散耦合的功能处理,其内部用于实现事件监听的类需要实现EventListern 接口。7、国际化程序实现中用于保存文字信息的文件后缀必须为 .properties。为了防止某些方法的返回值类型为null,可以使用Option去类进行包装:使用 用mpleDateFormat类实现日期时间字符串转换处理时,容

3、易出现多线程并发操作问题。10、在JDK-9之后为了解决Objectfnalize。方法无法回收垃圾的问题,提供了 Cleaner 接口。1.2.选择题使用Runtime类的 D 方法,可以释放垃圾内存。A、 exec()B、 run()C、 invoke()D、 gc()Object类中的 B方法不能被覆写?3、A、 toString()B、 getClass()C、 clone()D finalize()在JDK-9之前如果要为对象回收做收尾操作,那么应该覆写Object类中的D方法。A、toStringOB、getClass()C、clone()D、finalize()4、 Arrays

4、类中提供的数组二分查找支持的方法名称为:BA、hasCode()BbinarySearch()C、compare()D、fill()5、在多线程并发处理中可以平安的实现日期时间字符串转为Date类型的类是.D 。A、 FormatDateC、 SimpleDateFormat C LocalE、 LocalDateTime1.3、判断题 TOC o 1-5 h z 任何类的对象数组都可以使用Arrays.sort()方法进行排序操作。(X )Random 类存放在 java.lang 包中。(X)Runtime类的对象可以直接通过构造方法实例化。(X)ResourceBundle可以实现资源文

5、件读取,没有KEY存在时返回null。(X)1角沐官科技wwYOOTK.em catch (FileNotFoundException e) return false ; finally if (out != null) out.close();) return true; package com.yootk.demo.factory; import com.yootk.demo.service.IFileService; import com.yootk.demo.service.impl.FileServicelmpl; public class Factory private Facto

6、ry() public static IFileService getlnstance() return new FileServiceImpl(); ) package com.yootk.demo;import java.io.File;import com.yootk.demo.factory.Factory;import com.yootk.demo.service.IFileService;public class lOCaseDemo static ( /工程启动的时候该路径应该首先创立File file = new File(IFileService.S4UE_DIR) ; /路

7、径,但是这个文件目录有可能不存在 if (!file.exists() /文件目录不存在 file.mkdirs() ; / 创立目录 ) public static void main(String args) IFileService fileService = Factory.getlnstance();System.out.printIn(fileService.save();)3、从键盘传入多个字符串到程序中,并将它们按逆序输出在屏幕上。package com.yootk.demo.service;public interface IStringService public void

8、 append(String str) ; / 追力口数据 public String reverse() ; / 反转处理1角沐官科技wwYOOTK.empackage com.yootk.demo.service.impl;import com.yootk.demo.service.IStringService;public class StringServicelmpl implements IStringService private StringBuffer data = new StringBuffer();Overridepublic void append(String str

9、) this.data.append(str).append(|);Overridepublic String reverse() String result = this.data.toString().split(|);int center = result.length / 2 ;int head = 0 ;int tail = result.length - 1 ;for (int x = 0 ; x center ; x +) String temp = resulthead;resulthead = resulttail;resulttail = temp ;)return res

10、ult ;package com.yootk.demo.factory;import com.yootk.demo.service.IStringService;import com.yootk.demo.service.impl.StringServicelmpl;public class Factory private Factory() public static IStringService getlnstance() return new StringServiceImpl();package com.yootk.demo.menu;import java.util.Arrays;i

11、mport com.yootk.demo.factory.Factory;import com.yootk.demo.service.IStringService;import com.yootk.demo.util.InputUtil;public class Menu private IStringService stringservice ;public Menu() this.stringservice = Factory.getlnstance();this.choose();public void choose() this.show();String choose =工nputU

12、til.getString(请进行选择:);1角沐官科技wwYOOTK.emswitch(choose) case -1 : /接收输入数据 String str =工nputUtil.getSir)g(请输入字符串数据:”); this.stringservice叩pend(str); / 进行数据的保存 choose() ;/重复出现) case 2 : /逆序显示数据String result = this.stringservice.reverse(); System. out. print In (Array s. toSt ring (result); / 输出 choose()

13、;/重复出现) case 0 : System.out.printin(”下次再见,拜拜!); System.exit(l);)default : System.。.printin(“您输入了非法的选项,无法进行处理,请确认后再次执行程序! “); choose();) ) public void show() System.out.println( 1追加字符串数据n); System.out.println( 2逆序显示所有的字符串数据n”); Sy stem. out. printin (n 0结束程序执行。);System.out.printin(nnn);) package com.

14、yootk.demo; import com.yootk.demo.menu.Menu; public class lOCaseDemo public static void main(String args) new Menu() ; /启动程序界面) 4、编写程序,程序运行后,根据屏幕提示输入一个数字字符串,输入后统计有多少个偶数数字和奇数数字。package com.yootk.demo.service;public interface INumberService public int stat();package com.yootk.demo.service.impl;1角沐官科技w

15、wYOOTK.emimport com.yootk.demo.service.INumberService;import com.yootk.demo.util.InputUtil;public class NumberServicelmpl implements INumberService Overridepublic int stat() int stat = new int 0,0 ;/第一个为偶数,第二个为奇数String str =工nputUtil.getStMr7g(请输入数字信息:); String result = str.split() ; / 按照每个字符拆分 for

16、(int x = 0 ; x = 3; /执行登录退出的条件 ) Override public boolean login(String name, String password) this.count + ;return mldn.equals(name) & hello.equals(password);)package xy;import com.yootk.demo.service.lUserService;import com.yootk.demo.util.InputUtil;public class UserServiceProxy implements IllserServ

17、ice private IllserService userService ;public UserServiceProxy(IUserService userService) this.userService = userService ;)Overridepublic boolean login(String name, String password) while(!this.isExit() / 不进行退出String inputData =工nputUtil.getStrMg(请输入登录信息:);if (inputData.contains(/) / 输入了用户名和密码String

18、temp = inputData.split(7) ;/ 数据拆分if (this. userService. login (temp 0templ) / 登录认证return true ;/ 循环结束了 else (登录失败,错误的用户名或密码! ”); ) else /现在只有用户名 String pwd =工nputUtil.gets-g(请输入密码:); if (this.userService.login(inputDatapwd) / 登录认证 return true ;/ 循环结束了 else (登录失败,错误的用户名或密码! ) ) )1角沐官科技 wwYOOTK.em ret

19、urn false;)Overridepublic boolean isExit() return this.userService.isExit(); package com.yootk.demo.factory;import com.yootk.demo.service.lUserService;import com.yootk.demo.service.impl.UserServicelmpl;import xy.UserServiceProxy;public class Factory private FactoryO public static lUserService getlns

20、tance() return new UserServiceProxy(new UserServiceImpl(); ) package com.yootk.demo;import com.yootk.demo.factory.Factory;public class lOCaseDemo public static void main(String args) System.out.printIn(Factory.getlnstance().login(null, null); 投票选举(1)功能描述有一个班采用民主投票方法推选班长,班长候选人共4位,每个人姓名及代号分别为“张三1;李四2;

21、王五3; 赵六4”。程序操作员将每张选票上所填的代号(1、2、3或4)循环输入电脑,输入数字。结束输入,然后将所有候选 人的得票情况显示出来,并显示最终中选者的信息。(2)具体要求要求用面向对象方法,编写学生类Student,将候选人姓名、代号和票数保存到类Student中,并实现相应的getXXX 和setXXX方法。 输入数据前,显示出各位候选人的代号及姓名(提示,建立一个候选人类型数组)。循环执行接收键盘输入的班长候选人代号,直到输入的数字为0,结束选票的输入工作。在接收每次输入的选票后要求验证该选票是否有效,即如果输入的数不是0、1、2、3、4这5个数字之一,或者 输入的是一串字母,应

22、显示出错误提示信息“此选票无效,请输入正确的候选人代号!”,并继续等待输入。 输入结束后显示所有候选人的得票情况,如参考样例所示。输出最终中选者的相关信息,如参考样例所示。(3)参考样例:张三【0票】2:李四【0票】3:王五【0票】4:赵六【0票】能隔林肉科技wwYOOTK.em请输入班长候选人代号(数字0结束):1请输入班长候选人代号(数字。结束):1请输入班长候选人代号(数字。结束):1请输入班长候选人代号(数字。结束):2请输入班长候选人代号(数字。结束):3 请输入班长候选人代号(数字0结束):4 请输入班长候选人代号(数字。结束):5 此选票无效,请输入正确的候选人代号!请输入班长候

23、选人代号(数字。结束):hello 此选票无效,请输入正确的候选人代号! 请输入班长候选人代号(数字0结束):01:张三【4票】2:李四1票】3:王五1票】4:赵六【1票】投票最终结果:张三同学,最后以4票中选班长!package com.yootk.demo.vo;public class Student implements Comparable private long sid ;private String name ;private int vote ;public Student (long sid. String name., int vote) this.sid = sid ;

24、 = name ; this.vote = vote ;)Overridepublic String toString() return +this.sid+姓名:+ + 、票数:+ this.vote ;)Overridepublic int compareTo(Student stu) return stu.vote - this.vote ; package com.yootk.demo.service; import com.yootk.demo.vo.Student; public interface IVoteService public boolean inc(long sid)

25、 ;/ 根据编号进行增长public Student result() ; / 获取投票的结果public Student getData() ; / 获取全部数据 package com.yootk.demo.service;import java.util.Arrays;1角沐官科技wwYOOTK.emimport com.yootk.demo.vo.Student;public class VoteServicelmpl implements IVoteService private Student students = new Student new Student(lJ张三10) ,

26、 new Student(2J李四二0),new Student。,”王五二0) , new Student(4, “赵六”0);Overridepublic boolean inc(long sid) for (int x = 0 ; x getClass。方法可以取得一个类的Class对象。Class 类对象的三种实例化方式:getClass。方去 、 类.class 、 forName(className) 方法。在利用反射进行对象实例化时,使用的是一 Constructor 类中提供的 newlnstance。 方法实现的。每一个Method类对象都表示一个方法的定义,利用该类提供的i

27、nvoke。方法可以实现反射方法调用:在使用Field类实现成员属性调用时,如果该成员属性使用了 private访问权限进行声明,那么可以通过一 setAccessible。 方法使该成员取消封装后,才能够进行属性的设置与获取操作。Unsafe 类可以绕过JDK提供的对象实例管理机制,采用底层代码实现对象实例化;Java程序运行时,所有需要的程序类都通过.ClassLoader进行加载。在动态代理设计模式中,利用Proxy.newProxylnstance。方法进行代理对象创立时,代理类必须实现InvocatiorHandler接口,并覆写invoke。方法。为便于反射获取类结构中的注解,可以

28、利用AnnotatedElement接口提供的方法来获取注解项,包中的 Field、ConstructorMethod 也实现了此接口。选择题Object类中的B方法不能被覆写?A、 toStringO B、 getClass() C、 clone()D、 finalize()A 包中提供了 FieldConstructorMethod 类;A、B、java.utiLreflectC、java.ioD、Class类提供的 D 方法可以获取Method对象实例。A、getFunction()B、getExec()Cgetlnstance()D、getMethod()Method在进行方法反射调用

29、时需要传入实例化对象、参数内容,而实现这一功能的方法是一B 。A、 execute()B、 invoke()C、 instance()D、 object()JDK提供的动态代理设计模式中,使用InvocationHand怕接口中的invoke。方法,该方法接收的参数分别为BA、任意对象、参数信息、方法名称;B、代理对象、Method方法对象、参数数组;C、真实对象、Method方法对象、参数数组;D、 Proxy接口实例、Field成员属性、Method方法对象。6、自定义Annotation时, B属性名称在注解配置时不需要定义而会自动赋值。A、 contentvalueC、 attribu

30、teD、 object TOC o 1-5 h z SimpleDateFormat是Format的子类,但是其无法支持多线程并发转换处理。(J)Optional在使用of()方法保存对象时可以保存null。(X)System.gc。与 Runtime.getRuntime().gc()方法功能相同。(J)1.4、简答题String类和StringBuffer类的区别是什么? StringBuffer类提供了那些独特的方法?答:String类的内容一旦声明那么不可修改,而StringBuffer类的内容定义之后可以修改。StringBuffer类使用append。方法 可以完成字符串的连接操作

31、,而String类使用“ + ”完成;特殊方法:insert。、reverse。、replace。简述final、finally finalize的区别及作用?答:final表示终结器,用于定义不能被继承的父类,不能被覆写的方法,常量;finally是异常处理的出口;finalize。是Object类定义的一个方法,用于执行对象回收前的收尾操作。Arrays类中的sort。方法能否实现对象数组排序?。答:Airays.sort()方法可以实现对象数组排序,但是对象数组所在类一定要实现Comparable接口,并且要覆写compareTo。 方法。1.5、编程题定义一个StringBuffer类

32、对象,然后通过append。方法向对象里添加26个小写字母,要求每次只添加一次,共添加 26次。public class TestDemo public static void main(String args) StringBuffer buf = new StringBuffer。 ;for (char c = a ; c =z ; c+)buf.append(c) ;/ 连接字符串)System.out.printin(buf);)程序运行结果:abcdefghijklmnopqrstuvwxyz利用Random类产生5个1-30之间(包括1和30)的随机整数。 public class

33、 TestDemo public static void main(String args) Random rand = new Random();for (int x = 0; x 5; x+) System.out.print(rand.nextInt(31) + 、);1角沐官科技wwYOOTK.em判断题 TOC o 1-5 h z 利用Class.forName()方法实例化类对象时,该类的结构可以不在本地的CLASSPATH之中。(J)Unsafe类在进行对象实例化时,所实例化的对象会被JVM所管理。(X)3、代理设计模式实现结构中必须存在有接口。(X)使用Method类中的inv

34、oke。方法时可以不需要目标类的实例化对象。(X)”类.class”是Java提供的语法,可以获取指定类的Class实例。(V)简答题简述Class类对象实例化的方式以及区别。答:Class类在Java中提供有三种对象实例化模式:A、实例化对象.getClass。方法:该方法为Object类定义,以便于在存在实例化对象的情况下获取Class实例;B、类.class:该操作为Java内置支持语法,利用该方法需要在程序中进行相关程序类的导入;C、 Class.forNameO:该方法为Class内部提供方法,可以直接根据字符串进行类加载,并且利用反射机制的其它操 作类实现指定类的构造调用、方法调用

35、,而这些操作可以在没有import语句的情况下使用。2、简述静态代理设计模式与动态代理设计模式的区别?A、静态代理设计模式主要是围绕一个业务接口展开的,所定义的代理类无法满足于其它业务接口需要;B、动态代理设计模式是代理结构的抽象,可以满足于假设干个业务接口功能而开发的,在动态代理设计模式之中要 求代理类统一实现InvocationHandler()接口,在invoke。方法中实现代理调用,并利用Proxy类实现代理类的创立。编程题1、自定义一个业务接口与实现类,随后准备两个不同的动态代理实现类,在使用时可以利用自定义的YootkServiceProxy 注解,并在其中一个proxyClass

36、属性,用于实现动态代理类的配置。package com.yootk;import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.annotation.Target;import java.lang.reflect.Field;import java.lang.reflect.InvocationHandler;import java .lang.reflect.Method;im

37、port j ava .lang.reflect.Proxy;Retention (RetentionPolicy. RUNTIME)/ 运彳亍时生效Target ( ElementType . TYPE, ElementType . METHOD )/ 注解可以出现在类和方法处interface YootkServiceProxy public String proxyClass ();)1角沐官科技wwYOOTK.eminterface IMessageService public String echo(String str);)class MessageServicelmpl impl

38、ements IMessageService Override public String echo(String str) return n ECHO + str;) class NetworkProxy implements InvocationHandler private Object target;public NetworkProxy() Overridepublic Object invoke(Object proxy, Method method, Object args) throws Throwable System. out. print In ( NetworkProx

39、y网络代理消息处理。n); return method.invoke(this.target, args);) ) class DatabaseProxy implements InvocationHandler private Object target; public DatabaseProxy() Override public Object invoke(Object proxy, Method method, Object args) throws Throwable System. out. print In (n DatabaseProxy数据库代理消息处理。); return

40、method.invoke(this.target, args);)YootkServiceProxy(proxyClass = n0) class Factory private Factory() public static T getProxylnstance () IMessageService messageService = new MessageServicelmpl(); YootkServiceProxy serviceProxy =Factory.class.getAnnotation(YootkServiceProxy.class); try (Class proxyCl

41、azz = Class . forName (serviceProxy .proxyClass () ) ; / 获取动态代理 类InvocationHandler handler = (InvocationHandler) (proxyClazz.getConstruetor().newlnstance();Field targetField = proxyClazz . getDeclaredField ( target ) ; / 获取真实对象属性 targetField. setAccessible (true) ; / 取消反射 targetField. set (handler,

42、messageService) ; / 属性设置 return (T) Proxy.newProxyInstance(messageService.getClass().getClassLoader(), messageService.getClass().getlnterfaces(), handler); catch (Exception e) 1角沐官科技wwYOOTK.em return null; )public class YootkDemo /李兴华高薪就业编程训练营public static void main (String args) / 沐言科技: yootk. com

43、IMessageService messageServiceProxy = Factory.getProxylnstance(); System.out.printin(messageServiceProxy.echo(yootk ”);)程序执行结果:【NetworkProxy】网络代理消息处理。ECHO yootk 5、第05章:Java类集框架5.1、填空题在类集中存放单值的最大父接口是一 Collection ,存放一对值的最大父接口是Map 。Set接口保存的数据是不允许重复的,并且. TreeSet子类是可以排序的,根据 Comparable接口 排序。Java 类集可以使用的输出

44、方式是:Iterator 、 LisHlerator 、 Enumeration 、 foreach 。在Java中实现栈操作的类是 Stack 。类集中队列的定义接口为Queue ,其对应的实现子类为L口kedLisl。6、为了便于属性文件的操作,在类集中提供了Properties 类,该类为 Hashtable 子类。选择题下面那个类不是Collection的子类 C 。A、 Array Li stB、VectorC HashMapD、 TreeSetHashSet子类依靠C方法区分重复元素。A、 toStringQs equals()B、 clone() equals() ChashCo

45、de() equals() D getClass() clone()下面那一个子类是基于链表实现的List集合 BA、 ArrayListA、 ArrayListB、LinkedListC、 VectorD、Properties4、在进行M叩存储时,每一组偶对象保存在 B接口实例之中。4、在进行M叩存储时,每一组偶对象保存在 B接口实例之中。A、 Map.ItemB、Map.EntryC、Map.Group5、TreeSet进行数据存储时,依靠 A接口实现数据排序处理:D、 M 叩 positeA、 ComparableA、 ComparableB、 ComparatorC SortD Arr

46、ays能隔林肉科技wwYOOTK.c0 m判断题List接口中的内容是不能重复的。TreeSet中的数据会进行排序存储。Set接口的内容可以使用Enumeration接口进行输出。Map接口的内容可以使用Listherator接口进行输出。任何类都可以作为M叩存储的KEY,不需要强制性覆写任何方法。简答题1 简述ArrayList和Vector的区别。答:No.区别ArrayListVector1推出时间JDK 1.2JDK 1.02性能米用异步处理方式,性能更局米用同步处理方式,性能相对较低3平安性非线程平安线程平安4输出Iterator Listiterator fbreachIterat

47、or Listiterator、foreach Enumeration2、 简述 HashMap 及 Hashtable 的区别。 答:No.区别HashMapHashtable1推出时间JDK 1.2JDK 1.02性能米用异步处理方式,性能更局米用同步处理方式,性能相对较低3平安性非线程平安线程平安4设置null允许将key或value设置为null不允许出现null,否那么出现空指向异常Set集合中的内容是不允许重复的,Java依靠什么来判断重复对象?答:Java依靠Object类中的hashCode()和equals。方法来判断重复对象。TreeSet类是允许排序的,Java依靠什么进

48、行对象的排序操作?答:在TreeSet类中依靠Comparable接口来进行排序。简述 Collection 和 Collections 的区别。答:Collection是一个接口,用于定义集合操作的标准、Collections是一个工具类,可以操作任意的集合对象。编程题1、使用类集实现以下数据表和简单Java类的映射实现;部门部门编号 NUMBER(2)部门名称 VARCHAR2(10)位置 VARCHAR2(10)雇员雇员编号NUMBER(4) 部门编号NUMBER(2) VARCHAR2(10)VARCHAR2(9)NUMBER(4)基本工资NUMBER(7,2)NUMBER(7,2)/

49、 emp表映射类/雇员领导/雇员所属部门/无参构造import java.util.ArrayList; import java.util.Iterator; import java.util.List;class Emp private int empno;private String ename;private String job;private double sal; private double comm; private Emp mgr;private Dept dept;public Emp() )public Emp(int empno. String ename, Strin

50、g job, double sal, double comm) this.empno = empno;this.ename = ename;this.job = job;this.sal = sal; this m = comm;)/ 局部setter、getter略public void setDept(Dept dept) / 设置雇员所在部门 this.dept = dept;public Dept getDept() /取得雇员所在部门return this.dept;)public void setMgr(Emp mgr) / 设置雇员领导this.mgr = mgr;)public

51、 Emp getMgr() / 取得雇员领导return this.mgr;)0Overridepublic int hashCode() final int prime = 31; int result = 1;long temp;temp = Double.doubLeToLongBits(comm);1角沐官科技result=prime* result + (int) (temp A (temp 32);result=prime* result + (dept = null) ? 0 : dept.hashCode();result=prime* result + empno;resul

52、t=prime* result + (ename = null) ? 0 : ename.hashCode();result=prime* result + (job = null) ? 0 : job.hashCode();result=prime* result + (mgr = null) ? 0 : mgr.hashCode();wwYOOTK.emtemp = Double.doubLeToLongBits(sal);result = prime * result + (int) (temp A (temp 32); return result;)Overridepublic boo

53、lean equals(Object obj) if (this = obj) return true;if (obj = null) return false;if (getClass() != obj.getClass() return false;Emp other = (Emp) obj;if (Double.doubteToLongBits(comm) != Double .doubLeToLongBits(other .conr() return false;if (dept = null) if (other.dept != null) return false; else if

54、 (!dept.equals(other.dept) return false;if (empno != other.empno) return false;if (ename = null) if (other.ename != null) return false; else if (!ename.equals(other.ename) return false;if (job = null) if (other.job != null) return false; else if (!job.equals(other.job) return false;if (mgr = null) i

55、f (other.mgr != null) return false; else if (!mgr.equals(other.mgr) return false;if (Double.sal) != Double.rfoufaLeToLongBits(other.sal) return false;return true;)Overridepublic String toString() / 取得雇员信息return ”雇员编号:+ this.empno + ,姓名:+ this.ename + ”,职位: + this.job+ ,工资:+ this.sal + ,佣金:+ this m;)

56、class Dept private private private private)class Dept private private private privateint deptno;String dname;String loc;List emps;public Dept() this.emps =)public Dept(int this(); this.deptno this.dname/new ArrayList()dept表映射类多个雇员/无参构造deptno, String dname. String loc) /调用无参构造=deptno;=dname;this.loc

57、= loc;)/ 局部setter、getter略public void setEmps(List emps) this.emps = emps;)public List getEmps() return emps;Overridepublic String toString() this.loc = loc;)/ 局部setter、getter略public void setEmps(List emps) this.emps = emps;)public List getEmps() return emps;Overridepublic String toString() /取得部门信息re

58、turn ”部门编号:” + this.deptno + ,部门名称: + this.dname + ,位置:” + this.loc;)public class TestDemo public static void main(String args) / 1、第一层配置关系Dept dept = new Dept(10., Emp empa = new Emp(7369, Emp empb = new Emp(7566, Emp empc = new Emp(7839J empa setMgr(empb);empb.setMgr(empc); empa setDept(dept); emp

59、b.setDept(dept);empc setDept(dept);/ 1、第一层配置关系Dept dept = new Dept(10., Emp empa = new Emp(7369, Emp empb = new Emp(7566, Emp empc = new Emp(7839J empa setMgr(empb);empb.setMgr(empc); empa setDept(dept); empb.setDept(dept);empc setDept(dept);ACCOUNTING, New Yrok);SMITH, CLERK, 800.0, 0.0);ALLEN, MAN

60、AGER1 2450.0, 0.0);KING, PRESIDENT, 5000.0, 0.0);/设置雇员和领导的关系 设置雇员和领导的关系 每个雇员属于一个部门 每个雇员属于一个部门 每个雇员属于一个部门/每一个部门有多个雇员,通过对象数组表示多个雇员 dept.getEmps().add(empa);dept.getEmps().add(empb);能隔林肉科技MBrkLX www,YOOTK )dept.getEmps().add(empc);/ 2、第二层取得关系System.out.printIn(dept);Iterator iter = dept.getEmps().itera

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论