java编程思想 第四版 第六章 个人练习
来源:互联网 发布:vb.net select case 编辑:程序博客网 时间:2024/05/18 22:42
欢迎加群:239063848
进群须知:本群仅用于技术分享与交流,问题发布与解答
禁止闲聊、非诚勿扰
练习1:(1)在某个包中创建一个类,在这个类所处的包的外部创建该类的一个实例。
import mil.oms.main.test.Test; public class MainTest { public static void main(String args[]){ Test test=new Test(); } /** 运行结果Test()实例化…… */}
package mil.oms.main.test;public class Test{public Test(){System.out.println("Test()实例化……");}}
练习2:(1)将本节中的代码片段改写为完整的程序,并校验实际所发生的冲突。
import mil.oms.main.test.Vector;import java.util.*;public class MainTest { public static void main(String args[]){ Vector vector=new Vector(); java.util.Vector vector1=new java.util.Vector(); }}
package mil.oms.main.test;public class Vector{public Vector(){System.out.println("Vector()实例化……");}}
练习3:(1)创建两个包:debug和debugoff,他们都包含一个相同的类,该类有一个debug()方法,第一个版本显示发送给控制台的String参数,而第二版本什么也不做,使用静态import语句将该类导入到一个测试程序中,并示范条件编译效果。
import debug.Test;public class MainTest { public static void main(String args[]){ Test t=new Test(); t.debug(); } /** * 运行结果Test()…… */}
package debug;public class Test{public void debug(){System.out.println("Test()……");}}
package debugoff;public class Test{public void debug(){}}
练习4:(2)展示protected方法具有包访问权限,但是它仍旧不是public的。
package debug;public class MainTest { public static void main(String args[]){ Test t=new Test(); t.debug(); }}
package debug;public class Test{protected void debug(){System.out.println("Test()……");}}
练习5:(2)创建一个带有public,private,protected和包访问权限域以及方法成员的类。创建一个该类的一个对象,看看在你试图调用所有类成员时,会得到什么类型的编译信息。请注意,处于同一个目录中的所有类都是默认包的一部分
package debug;public class MainTest { public static void main(String args[]){ Test t=new Test(); //System.out.println(t.str1); System.out.println(t.str2); System.out.println(t.str3); //t.debug1(); t.debug2(); t.debug3(); /** * 输出value2value3debug2()……debug3()…… */ }}
package debug;public class Test{private String str1="value1";protected String str2="value2";public String str3="value3";private void debug1(){System.out.println("debug1()……");}protected void debug2(){System.out.println("debug2()……");}public void debug3(){System.out.println("debug3()……");}}
练习6:(1)创建一个带有protected数据的类,运用在第一个类中处理protected数据的方法在相同的文件中创建第二个类。
package debug;public class MainTest { public static void main(String args[]){ Test t=new Test(); System.out.println(t.str2); /** * 输出value2 */ }}
package debug;public class Test{protected String str2="value2";}
练习7:根据描述access和Widget的代码片段创建类库,在某个不属于access类库的类中创建一个Widget实例
package access.local; import access.debug.Widget;; public class Test { public static void main(String args[]){ new Widget(); } }
package access.debug; public class Widget { public Widget(){ System.out.println("Widget!"); } }
练习8:效仿实例Lunch.java的形式,创建一个名为ConnectionManager的类,该类管理一个元素为Connection对象的固定数组。客户端程序员不能直接创建Connection对象,而只能通过ConnectionManager中的某个static方法来获取他们。当ConnectionManager之中不再有对象时,它会返回null引用。在main()之中检测这些类。
package test;import java.util.Arrays;public class ConnectionManager {public static Connection [] cons=new Connection[5];static {System.out.println("----------初始化Connection对象----");for(int i=0;i<5;i++){cons[i]=Connection.makeConnection();}}public static Connection getConnection(){int l=cons.length;if(l>0){Connection con=cons[--l];cons=Arrays.copyOf(cons, l);return con;}else{return null;}}public static void main(String args[]){try {for(int i=0;i<7;i++){Connection con=ConnectionManager.getConnection();System.out.println(i+"、"+con);}} catch (Exception e) {e.printStackTrace();}}/** * 打印结果:----------初始化Connection对象----0、test.Connection@527c67681、test.Connection@527c67682、test.Connection@527c67683、test.Connection@527c67684、test.Connection@527c67685、null6、null */}class Connection{private static Connection connection=new Connection();private Connection(){}public static Connection makeConnection(){return connection;}}
练习9:(2)在access/local目录下编写以下文件(假定access/local目录在你的CLASSPATH中):
package test.access.foreign;public class Foreign {public static void main(String args[]){PackagedClass PackagedClass=new PackagedClass();//由于此类只有包访问权限,编译未通过}/** * 打印结果: */}
package test.access.local;public class Foreign {public static void main(String args[]){PackagedClass PackagedClass=new PackagedClass();//在同一个包中,可正确引用}/** * 打印结果: */}class PackagedClass{public PackagedClass(){}}
2 0
- java编程思想 第四版 第六章 个人练习
- java编程思想 第四版 第六章 个人练习
- Java编程思想第四版 第四章个人练习
- Java编程思想第四版第六章练习
- Java编程思想第四版 第三章个人练习
- Java编程思想(第四版)*第二章 个人练习
- Java编程思想第四版 *第五章 个人练习
- Java编程思想第四版*第七章*个人练习
- Java编程思想第四版13章 个人练习
- Java编程思想第四版第四章练习
- java编程思想 第四章 练习4
- Java编程思想第四版第8章练习
- Java编程思想第四版第二章练习
- Java编程思想第四版第三章练习
- Java编程思想第四版第五章练习
- Java编程思想第四版第七章练习
- Java编程思想第四版第八章练习
- 《java编程思想》第四章 练习9&练习10
- 黑马程序员————小牛皮糖学习笔记————其他对象Sytem-Runtime-Date-Math
- iOS8 App Extension产生的错误
- Hasen的linux设备驱动开发学习之旅--增加了并发控制的设备驱动程序
- android staticlayout使用讲解,可实现文本绘制换行处理
- 高性能Javascript笔记
- java编程思想 第四版 第六章 个人练习
- java泛型(二)、泛型的内部原理:类型擦除以及类型擦除带来的问题
- Joda-Time 简介
- iOS UIScrollView
- HTTP学习之POST 与 GET
- HDU 1503 Advanced Fruits(LCS变形且输出解)
- 如何在android中设置一个返回button,点击后返回上一个activity?
- Linux-网桥原理分析********************
- FACE RECOGNITION CODES