[试题]

(Java代码)

import Java.util.ArrayList;

import java.util.List;

(1) class AbstractFile{

protected String name;

public void printName(){System.out.println(name);}

public abstract boolean addChild(AbstractFile file);

public abstract boolean removeChild(AbstractF ile file);

public abstract List<AbstractFile> getChildren();

class File extends AbstractFile{

public File(String name){this.name=name;}

public boolean addChild(AbstractFile file){return false;}

public boolean removeChild(AbstractFile file){return false;}

public List<AbstractFile> getChildren(){return (2) ;}

class Folder extends AbstractFile{

private List <AbslractFile> childList;

public Folder(String name){

this.name=name;

this.childList=new ArrayList<AbstractFile>();

public boolean addChild(AbstractFile file) { return childList.add(file);}

public boolean removeChild(AbstractFile file){return childList.remove(file);}

public (3) <AbstractFile> getChildren(){return (4) ;}

public class Client{

public static void main(String[] args){

//构造一个树形的文件/目录结构

A.bstractFile rootFolder= new Folder("c:// ");

A.bstractFile compositeFolder=new Folder("composite");

A.bstractFile windowsFolder=new Folder("windows");

A.bstractFile file=new File("TestComposite.java");

rootFolder.addChild(compositeFolder) ;

rootFolder.addChild(windowsFolder);

compositeFolder.addChild(file) ;

//打印目录文件树

printTree(rootFolder);

private static void printTree(AbslractFile ifile){

ifile.printName();

List <AbslractFile> children=ifile.getChildreno:

if(children==null) return;

for (AbstractFile file:children) {

(5) ;

}

该程序运行后输出结果为:

c:/

composite

TestComposite.java

Windows

参考答案与解析:

相关试题

设有如下程序:import java.util.*;public class S

[单选题]设有如下程序: import java.util.*; public class Sun { public static void main (String args[ ]) { int score; String a; Random r=new Random (); score=r.nextInt (4)+5; switch(score) { case 0: a="E"; break; case 1: a="D"; break; case 2: a="C"; break; case

  • 查看答案
  • 设有如下程序:import java.util.*;public class S

    [单选题]设有如下程序: import java.util.*; public class Sun { public static void main(String args[ ]) { int score; String a; Random r=new Random(); score=r.nextInt(4)+5; switch(score) { case 0: a="E"; break; case 1: a="D"; break; case 2: a="C"; break; case 3:

  • 查看答案
  • 给定如下Java程序代码片段,编译运行这段代码,结果是( )。java.util

    [单选题]给定如下Java程序代码片段,编译运行这段代码,结果是( )。java.util.HashMapmap=newjava.util.HashMap();map.put("name",null);map.put("name","Jack");System.out.println(map.get("name"));A.nullB.JackC.nullJackD.运行时出现异常

  • 查看答案
  • 给定如下Java程序代码片段,编译运行这段代码,结果是()。java.util.

    [单选题]给定如下Java程序代码片段,编译运行这段代码,结果是()。java.util.HashMap map=new java.util.HashMap();map.put("name",null);map.put("name","Jack");System.out.println(map.get("name"));A . nullB . JackC . nullJackD . 运行时出现异常

  • 查看答案
  • 阅读以下说明和Java代码,填补空缺。[说明] java.util库中提供了Ve

    [试题]阅读以下说明和Java代码,填补空缺。[说明]java.util库中提供了Vector模板类,可作为动态数组使用,并可容纳任意数据类型。该类的部分方法说明如下所示:方法名 含义add(k) 向vector对象的尾部添加一个元素kremoveElementAt(i) 删除序号为i的元素(vector元素序号从0开始)isEmpty( ) 判断vector对象是否含有元素size( ) 返回vector对象中所包含的元素个数[Java代码]Import ________;public class Ja

  • 查看答案
  • java.sql.Date与java.util.Date的区别?

    [试题]java.sql.Date与java.util.Date的区别?

  • 查看答案
  • 下面程序代码运行结果为( )。import java.awt.*;public

    [单选题]下面程序代码运行结果为( )。 import java.awt.*; public class Test { public static void main (String args[]) { String s1="a+b+c"; String s2="+"; int i=s1.lastIndexOf (s2); System.out.println(i); } }A.0B.1C.2D.3

  • 查看答案
  • 下列代码中的内部类名是______。 import java.awt.event

    [单选题]下列代码中的内部类名是______。import java.awt.event.*;import javax.swing.*;class Talkingclock{public void start (int interval, final boolean beep){A.ctionListener listener=newA.ctionListener(){public void actionPerformed (ActionEvent event) {......}}Timer t=new

  • 查看答案
  • 简述synchronized 和java.util.concurrent.loc

    [试题]简述synchronized 和java.util.concurrent.locks.Lock的异同?

  • 查看答案
  • 简述synchronized 和java.util.concurrent.loc

    [试题]简述synchronized 和java.util.concurrent.locks.Lock的异同?

  • 查看答案
  • (Java代码)import Java.util.ArrayList;impor