【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 ListAbstractFile 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 ListAbstractFile getChildren(){return (2) ;}}class Folder extends AbstractFile{private List AbslractFile childList;public Folder(String name){this.name=name;this.childList=new ArrayListAbstractFile();}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){//构造一个树形的文件/目录结构AbstractFile rootFolder= new Folder("c:\\ ");AbstractFile compositeFolder=new Folder("composite");AbstractFile windowsFolder=new Folder("windows");AbstractFile 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:\compositeTestComposite.javaWindows

【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){

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

AbstractFile rootFolder= new Folder("c:\\ ");

AbstractFile compositeFolder=new Folder("composite");

AbstractFile windowsFolder=new Folder("windows");

AbstractFile 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


相关考题:

YouarewritingaJSPthatincludesscriptletcodetodeclareaListvariableandinitializesthatvariabletoanArrayListobject.WhichtwoJSPcodesnippetscanyouusetoimporttheselisttypes?() A.%!importjava.util.*;%B.%!importjava.util.List;importjava.util.ArrayList;%C.%@pageimport=’java.util.List’import=’java.util.ArrayList’%D.%@importtypes=’java.util.List’types=’java.util.ArrayList’%E.%@pageimport=’java.util.List,java.util.ArrayList’%F.%@importtypes=’java.util.List,java.util.ArrayList’%

下列关于Java对import语句规定的叙述中,错误的是A.在Java程序中import语句可以有多个B.在Java程序中import语句可以没有C.在Java程序中import语句必须有一个D.在Java程序中import语句必须引入在所有类定义之前

下列关于Java对import语句规定的叙述中,错误的是( )。A.在Java程序中import语句可以有多个SXB 下列关于Java对import语句规定的叙述中,错误的是( )。A.在Java程序中import语句可以有多个B.在Java程序中import语句可以没有C.在Java程序中import语句必须有一个D.在Java程序中import语句必须引入在所有类定义之前

下列关于Java对import语句规定的叙述中,错误的是( )。A.在Java程序中import语句可以有多个B.在Java程序中import语句可以没有C.在Java程序中import晤句必须有一个D.在Java程序中import语句必须引入在所有类定义之前

在编写Applet程序时,程序中必须有的import语句是A.import.java.io.*;B.import java.applet.Applet;C.import.java.awt.event.*;D.import.java.lang.*;

下列关于Java对import语句规定自叙述中,错误的是( )。 A.在Java程序中import语句可以有多个SX 下列关于Java对import语句规定自叙述中,错误的是( )。A.在Java程序中import语句可以有多个B.在Java程序中import语句可以没有C.在Java程序中import语句必须有一个D.在Java程序中import语句必须引入在所有类定义之前

对于一个Java源文件,包含三个顶级元素,它们正确的书写顺序是()。A.package,import,classB.class,import,packageC.import,package,classD.package,class,import

对于一个Java源文件,包含三个顶级元素,它们正确的书写顺序是()。A.class,import,packageB.import,package,classC.package,import,classD.package,class,import

在一个Java源程序中,如果import语句、package语句、class语句都存在,则出现的次序应为()A.import先出现,package和class出现的次序随意B.class语句、import语句、package语句C.package语句、import语句、class语句D.package语句、class语句

要在jsp中使用ArrayList,做法正确的是()。A.<% import java.util.ArrayList%>B.<%@ import "java.util.ArrayList"%>C.<%@ page import="java.util.ArrayList"%>D.<%@ page package="java.util.ArrayList"%>