java编程思想第四版第六章习题
- (略)
- (略)
创建两个包:debug和debugoff,他们都包含一个相同的类,该类有一个debug()方法,第一个版本显示发送给控制台的String参数,而第二版本什么也不做,使用静态import语句将该类导入到一个测试程序中,并示范条件编译效果。
package net.mindview.access; public class Test3 {
public static void main(String[] args) {
net.mindview.access.debug.Test3 t = new net.mindview.access.debug.Test3();
net.mindview.access.debugoff.Test3 t2 = new net.mindview.access.debugoff.Test3();
}
}在一个类中导入名字相同,不同包下的其他类, 需要带上报名, 否则会编译不通过.
- (略)
- (略)
创建一个带有protected数据的类,运用在第一个类中处理protected数据的方法在相同的文件中创建第二个类。
/**
* 类内处理Protected数据
* <p/>
* Created by wang on 15/8/4.
*/
class Data {
protected int d = ;
} class ProcessData {
public void changeData(Data data) {
data.d = ; // 类内处理protected数据
}
} public class ProtecedData { public static void main(String[] strs) {
Data data = new Data();
System.out.println(data.d);
new ProcessData().changeData(data);
System.out.println(data.d);
}
}
/**
* Output:
11
22
*/- (略)
效仿实例Lunch.java的形式,创建一个名为ConnectionManager的类,该类管理一个元素为Connection对象的固定数组。客户端程序员不能直接创建Connection对象,而只能通过ConnectionManager中的某个static方法来获取他们。当ConnectionManager之中不再有对象时,它会返回null引用。在main()之中检测这些类。
package net.mindview.access; public class ConnectionManager {
static int count = ;
static Connection[] conns = new Connection[count]; //静态代码块, 初始化成员变量
static {
for(int i=; i<conns.length; i++){
conns[i] = Connection.makeConnection();
}
} //获取第i个连接
public static Connection getConnection(int i){ if(i < count){
return conns[i];
}else{
return null;
}
} public static void main(String[] args) {
for(int i=; i<; i++){
Connection conn = ConnectionManager.getConnection(i);
if(conn != null){
System.out.println("当前有几个连接:"+Connection.getCount());
} else {
System.out.println("null");
}
} } }package net.mindview.access; public class Connection {
//用来统计一共创建了多少个Connection对象
private static int count = ; private Connection(){
Connection.count ++;
}
public static Connection makeConnection(){
return new Connection();
}
public static int getCount(){
return Connection.count -- ;
} }这个demo充分体现了面向对象的思想。 需要多思考
java编程思想第四版第六章习题的更多相关文章
- java编程思想第四版第六章总结
1. 代码重构 为什么f要代码重构 第一次代码不一定是完美的, 总会发现更优雅的写法. 代码重构需要考虑的问题 类库的修改不会破坏客户端程序员的代码. 源程序方便扩展和优化 2. 包 创建一个独一无二 ...
- java编程思想 第四版 第六章 个人练习
欢迎加群:239063848 进群须知:本群仅用于技术分享与交流.问题公布与解答 禁止闲聊.非诚勿扰 练习1:(1)在某个包中创建一个类,在这个类所处的包的外部创建该类的一个实例. import mi ...
- java编程思想第四版第十一章习题
第一题 package net.mindview.holding.test1; import java.util.ArrayList; import java.util.List; /** * 沙鼠 ...
- java编程思想第四版第五章习题
创建一个类, 它包含一个未初始化的String引用.验证该引用被Java初始化成了null package net.mindview.initialization; public class Test ...
- java编程思想第四版第七章习题
(略) (略) (略) (略) 创建两个带有默认构造器(空参数列表)的类A和类B.从A中继承产生一个名为C的新,并在C内创建一个B类的成员.不要给C编写构造器.创建一个C类的对象并观察其结果. pac ...
- Java编程思想第四版*第七章*个人练习
欢迎加群:239063848 成团的笔记:该组仅用于技术共享和交流,问题和答案公布 潘基聊天.禁止广告.禁止招聘-- 练习1:(2)创建一个简单的类.第二个类中,将一个引用定义为第一个类的对象.运用惰 ...
- java编程思想第四版第十三章字符串 习题
fas 第二题 package net.mindview.strings; import java.util.ArrayList; import java.util.List; /** * 无限循环 ...
- java编程思想第四版第十三章字符串 总结
1. String和StringBulider的使用 通过书中介绍, 我们得知如下结论: 当使用+连接符将字符串进行拼接的时候, 编译器会进行自动优化为使用StringBuilder连接字符串. 当在 ...
- java编程思想第四版第十一章总结
1. 容器类被分为两类:Collection和Map Collection是一个接口:包括: List接口: ArrayList:按照被插入顺序保存元素, 查询快, 增删改慢 LinkedList:按 ...
随机推荐
- nagios的安装
Nagios通常由一个主程序(Nagios).一个插件程序(Nagios-plugins)和四个可选的ADDON(NRPE.NSCA. NSClient++和NDOUtils)组成.Nagios的监控 ...
- Java自学能学会吗?最新Java高级学习路线
就好像一千个人心中有一千个哈利波特一样,这个答案不绝对也不唯一,Java好学但自学的确阻力有些大,作为一门技术语言,它所蕴含的智慧绝对不是靠几本XX入门,XX框架之类的书所能概括,自学Java你要做好 ...
- Java解决CSRF问题
项目地址: https://github.com/morethink/web-security-csrf CSRF是什么? CSRF(Cross-site request forgery),中文名称: ...
- 接口中定义变量必须为public static final的原因
在interface里面的变量默认都是public static final 的,原因如下: 1. 接口是一种高度抽象的"模版",,而接口中的属性也就是’模版’的成员,就应当是 ...
- web框架之Django基础
1. Django的简介 Django是一个由python写成的开放源代码的Web应用框架. Django的目的是使常见的Web开发任务,快速和容易. 2. Django框架的特点 1. 遵循MVC开 ...
- null undefiend NaN
console.log(typeof NaN) console.log(typeof undefined) console.log(typeof null)
- 洛谷4月月赛R2
洛谷4月月赛R2 打酱油... A.koishi的数学题 线性筛约数和就可以\(O(N)\)了... #include <iostream> #include <cstdio> ...
- typedef struct 的用法
typedef struct stu { int age; char name[20]; }stu,*pstu; stu stu1;相当于struct stu stu1; pstu pstu1;相当于 ...
- socketlog的安装和使用
socketlog的使用范围 socketlog比较适用于ajax调试和api的调试,经典应用莫不过于微信众多的api使用调试,使用socketlog可以很条理清楚的查看到api传递的参数,加载的性 ...
- LearnPython_week1
1. Python安装 2. Hello World程序 3. 变量的简单使用 4. 注释#'" 5. 用户输入 6. 字符串格式 ...