黑马程序员技术交流社区

标题: java 习题分享 第十一弹! [打印本页]

作者: bayshier    时间: 2014-9-19 09:13
标题: java 习题分享 第十一弹!
10. 创建一个单一的类。在第二个类中,将一个引用定义为第一个类的对象。运用惰性初始化(lazy initialization)来实例化这个对象。
11. 从Detergent中继承一个新的类。重载scrub()并添加一个名为sterilize()的新方法,并测试这几个方法。
class Cleanser {
private String s = new String("Cleanser");
public void append(String a) { s += a; }
public void dilute() { append(" dilute()"); }
public void apply() { append(" apply()"); }
public void scrub() { append(" scrub()"); }
public String toString() { return s; }
public static void main(String[] args) {
Cleanser x = new Cleanser();
x.dilute(); x.apply(); x.scrub();
System.out.println(x);
}
}
public class Detergent extends Cleanser {
// Change a method:
public void scrub() {
append(" Detergent.scrub()");
super.scrub(); // Call base-class version
}
// Add methods to the interface:
public void foam() { append(" foam()"); }
// Test the new class:
public static void main(String[] args) {
Detergent x = new Detergent();
x.dilute();
x.apply();
x.scrub();
x.foam();
System.out.println(x);
System.out.println("Testing base class:");  
Cleanser.main(args);
}
}
12. 使用Cartoon.java并注解掉Cartoon类的构造器。对所发生的现象进行解释。
class Art {
Art() {
System.out.println("Art constructor");
}
}
class Drawing extends Art {
Drawing() {
System.out.println("Drawing constructor");
}
}
public class Cartoon extends Drawing {
private static Test monitor = new Test();
public Cartoon() {
System.out.println("Cartoon constructor");
}
public static void main(String[] args) {
Cartoon x = new Cartoon();  
}
}
13. 使用Chess.java并注解掉Chess 类的构造器。对所发生的现象进行解释。
class Game {
Game(int i) {
System.out.println("Game constructor");
}
}
class BoardGame extends Game {
BoardGame(int i) {
super(i);
System.out.println("BoardGame constructor");
}
}
public class Chess extends BoardGame {
Chess() {
super(11);
System.out.println("Chess constructor");
}
public static void main(String[] args) {
Chess x = new Chess();  
}
}
15. 证明基类构造器(a)总是会被调用(b)在导出类构造器之前被调用。
16. 创建一个仅有一个非缺省构造器的基类,并创建一个带有缺省(no-arg)构造器和非缺省构造器的导出类。在导出类的构造器中调用基类的构造器。
17. 创建一个Root 类,令其含有名为Component 1、Component 2、Component 3的类各一个实例(这些也由你写)。从Root中派生一个类stem,也含有上述各“组成部分”。所有的类都应带有可打印出类的相关信息的缺省构造器。
18.把StringUtil和NumberUtil拷贝到自己的工具包中,学会了解它们的大部分方法,注意工具类一般都有静态方法来写,写个测试类使用这个工具类来完成这个输入和输出   00898.700000 输出 898.7。
19.写一个简单定时器,定时检查C盘根目录,如果有文件被增加或删除就打印(大概XXX时间C盘被删除了(增加)了X个文件)没有变化就什么都不做。






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2