一个public的类中的一个protected成员可以被哪些成员访问()。
A.同一类中的其他成员可以访问它
B. 同一包中的非子类可以访问它
C. 同一包中的子类可以访问它
D. 不同包中的非子类可以访问它
E. 不同包中的子类可以访问
A.同一类中的其他成员可以访问它
B. 同一包中的非子类可以访问它
C. 同一包中的子类可以访问它
D. 不同包中的非子类可以访问它
E. 不同包中的子类可以访问
不论派生类以何种方式继承基类,都不能直接使用基类的()。
(A)public成员
(B)private成员
(C)protected成员
(D)所有成员
包容类Contain和内嵌类Embed定义如下: #include <iostream.h> class Contain { private: int x; protected: int z; public: class Embed { private: int y; public: Embed(){y=100;} int Embed_Fun(); }MyEmbed; int Contain_Fun(); }; 对上面的定义,正确的描述是()。
A.定义类Embed对象的语句是:Contain::Embed embed;
B.类Contain的成员函数Contain_Fun()中可以用MyEmbed.y的方式访问类Embed的私有成员y
C.类Embed的成员函数Embed_Fun()中可以直接访问类Contain和的私有成员x
D.类Embed的成员函数Embed_Fun()中可以直接访问类Contain的保护成员z
【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
如果类中的成员变量可以被同一包访问,则使用如下哪个约束符()。
A. private
B. public
C. protected
D. no modifier
A.一个Java源文件中可以包括一个package语句
B.一个Java源文件中可以包括多个类定义,但是只能有一个public类
C.一个Java源文件中可以有多个public类
D.源文件名与程序类名必须一致
为了保护您的账号安全,请在“简答题”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!