单选题执行以下代码后,下面哪些描述是正确的() public  class  Student{  private String name = “Jema”;  public void setName(String name){  this.name = name;  }  public String getName(){  return this.name;  }  public static void main(String[] args){  Student s;  System.out.printl

题目
单选题
执行以下代码后,下面哪些描述是正确的() public  class  Student{  private String name = “Jema”;  public void setName(String name){  this.name = name;  }  public String getName(){  return this.name;  }  public static void main(String[] args){  Student s;  System.out.println(s.getName()); } }
A

输出null

B

第10行编译报错

C

第11行编译报错

D

输出Jema

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

阅读下面代码 abstract class Person { public Person(String n) { name=n; } public______String getDescription(); public String getName() { return name; } private String name; } 在下画线处应填入的修饰符是

A.static

B.abstract

C.protected

D.final


正确答案:B

第2题:

为使下列代码正常运行,应该在下画线处填入的选项是( )。 abstract class person{ public Person(String n){ name=n: } Public String getDescription; public String getName{ return name; } private string name; }

A.static

B.private

C.abstract

D.final


正确答案:C
C。【解析】抽象类中的抽象方法可以只声明,定义延迟到其子类。

第3题:

【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


正确答案:
(1)abstract
(2)null
(3)List
(4)childList
(5)printTree(file)

第4题:

public class Employee{   private String name;   public Employee(String name){   this.name = name;  }   public String getName(){   return name;  }  }   public class Manager extends Employee{   private String department;   public Manager(String name,String department){   this.department = department;   super(name); (应于上一行掉位置)   System.out.println(getName());  }  }   Super的位置是否在方法的首行   执行语句new Manager(“smith”,”SALES”)后程序的输出是哪项?()

  • A、 smith
  • B、 null
  • C、 SALES
  • D、 编译错误

正确答案:D

第5题:

试题五(共 15 分)阅读以下说明和 Java 程序,填补代码中的空缺,将解答填入答题纸的对应 栏内。【说明】以下 Java 代码实现一个简单的聊天室系统(ChatRoomSystem),多个用 户(User)可以向聊天室( ChatRoom)发送消息,聊天室将消息展示给所有用户。 类图如图 5-1 所示。

【Java 代码】 class ChatRoom {
public static void showMessage(User user, Strmg message) {System.out.println("[" + user.getName() + "] : " + message);} }classUser{private String name; public String getName() { return name;}public void setName(String name) { this.name = name;}public User(String name) { (1) =name;}public void sendMessage(String message) { (2) (this, message);}}public class Chat:RoomSystem { public void startup() {
User zhang= new User("John");User li =new User("Leo"); zhang.sendMessage("Hi! Leo! "); 1i.sendMessage("Hi! John!"); } public void join(User user) { (3) ("Hello Everyone! I am" + user.getName()); }public static void main(String[] args) { ChatRoomSystem crs= (4) ; Crs.startup();Crs.join( (5) )(“Wayne”));}}/*程序运行结果: [John]:Hi! Leol [Leo]:Hi! John![Wayne】:Hello Everyone!Iam Wayne*/


答案:
解析:
1、this.name
2、ChatRoom.showMessage
3、user.sendMessage
4、new ChatRoomSystem()
5、new User

第6题:

interface Playable {

void play();

}

interface Bounceable {

void play();

}

interface Rollable extends Playable, Bounceable {

Ball ball = new Ball("PingPang");

}

class Ball implements Rollable {

private String name;

public String getName() {

return name;

}

public Ball(String name) {

this.name = name;

}

public void play() {

ball = new Ball("Football");

System.out.println(ball.getName());

}

}

这个错误不容易发现。


正确答案:

 

错。"interface Rollable extends Playable, Bounceable"没有问题。interface 可继承多个

interfaces,所以这里没错。问题出在interface Rollable 里的"Ball ball = new Ball("PingPang");"。

任何在interface 里声明的interface variable (接口变量,也可称成员变量),默认为public static

final。也就是说"Ball ball = new Ball("PingPang");"实际上是"public static final Ball ball = new

Ball("PingPang");"。在Ball 类的Play()方法中,"ball = new Ball("Football");"改变了ball 的

reference,而这里的ball 来自Rollable interface,Rollable interface 里的ball 是public static final

的,final 的object 是不能被改变reference 的。因此编译器将在"ball = new Ball("Football");"

这里显示有错。

第7题:

阅读以下说明和Java代码,将应填入(n)处的字句写在对应栏内。

[说明]

在一些大型系统中,大多数的功能在初始化时要花费很多时间,如果在启动的时候,所有功能(连不用的功能)都要全面初始化的话,会连带影响到应用软件要花很多时间才能启动。因此常将程序设计成到了实际要使用某种功能的阶段才初始化该功能。

以下示例展示了Proxy(代理)模式,PrinterProxy类执行一些比较“轻”的方法——设置名称和取得名称,需要真正执行“重”的方法——真正打印——时才初始Print类。图6-1显示了各个类间的关系。

[图6-1]

[Java代码]

//Printable.Java

publiC (1) Printable{

public abstract void setPrinterName(String name);

public abstract String getprinterName();

public abstract void print(String string);

}

//Printer.Java

public class Printer implements Printable{

private String name;

public Printer(){

System.out.println("正在产生Printer的对象实例");

}

public Printer(String name){

this.name=name;

heavyJob("正在产生Printer的对象实例("+name+")");

public void setPrinterName(String name){

this.name=name;

public String getPrinterName(){

return name;

public void print(String string){

System.out.println("===" +name+" ====");

System.out.println(string);

}

}

//PrinterProxy.Java

public class PrinterProxy (2) Printable{

private String name;

private Printer real;

public PrinterProxy(){}

public PrinterProxy(String name){

this.name=name;

}

public gynchronized void setPrinterName(String name){

if( (3) ){

real.setPrinterName(name);

}

this.name=name;

}

public String getprinterName(){

return name;

}

public void print(String string){

(4);

real.print(string);

}

private synchronized void realize(){//产生真正的Printer对象

if(real==null){

real=(5);

}

}

}

(1)


正确答案:interface
interface

第8题:

阅读以下说明和java代码,将应填入(n)处的字句写在对应栏内。

[说明]

有若干教师,每个教师只有姓名,一个教师可以指导多名研究生;每名研究生有姓名和研究方向,程序最后输出每个教师指导的所有研究生的姓名和研究方向。

[Java程序]

public class Teacher {

String name;

int top=0;

Student[] student=new Student[20];

public Teacher() {}

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

boolean add(Student stu){

int len=this.student.length;

if (top<len-1) {

this.student[top]=siu;

(1);

return true;

}

else

return (2);

}

void disp(){

System.out.println(“指导老师"”+this.name);

System.out.println(“研究生:”);

for(int i=0;i<(3);i++){

System.out.println(“姓名:”+this.student[i].name+“\t研究方向:”+this.student[i]. search);

}

}

public static void main(String[] args){

Teacher t[]={new Teacher(“李明”),new Teacher(“王华”)};

Student s1 = new Student(“孙强”,“数据库”);

Student s2 = new Student(“陈文”,“软件工程”);

Student s3 = new Student(“章锐”,“计算机网络”);

if(! t[0].add(s1)) {System.out.println(“每个老师最多只能指导20个学生!”);}

if(! t[0].add(a2)) {System.out.println(“每个老师最多只能指导20个学生!”);}

if(! t[1].add(s3)) {System.out.println(“每个老师最多只能指导20个学生!”);}

for(int i=0;i<2;i++)

(4);

}

}

class (5) {

String name;

String search;

public Student(){}

public Student(String name,String search){

this.name=name;

this.search=search;

}

String getName(){return this.name;}

String getSearch(){return this.search;}

}


正确答案:(1) top++及其等效形式 (2) false (3) top (4) t[i].disp() (5) Student
(1) top++及其等效形式 (2) false (3) top (4) t[i].disp() (5) Student 解析:(1)~(2):add函数是给Teacher类的student数组增加一个学生,每个老师最多能指导20个学生,如果增加成功则返回true;否则返回false。Top是一个表示student数组里面有多少个学生的标志。每增加一个学生,top就要加1;
(3)disp函数是用一个循环来显示老师所指导的所有学生,循环变量从0开始,上限是top-1;
(4)此处是调用disp函数来显示所有老师指导的学生。
(5)根据程序大意,这是Student类的定义。

第9题:

执行以下代码后,下面哪些描述是正确的() public  class  Student{  private String name = “Jema”;  public void setName(String name){  this.name = name;  }  public String getName(){  return this.name;  }  public static void main(String[] args){  Student s;  System.out.println(s.getName()); } }

  • A、输出null
  • B、第10行编译报错
  • C、第11行编译报错
  • D、输出Jema

正确答案:C

第10题:

Which declarations will allow a class to be started as a standalone program?()  

  • A、public void main(String args[])
  • B、public void static main(String args[])
  • C、public static main(String[] argv)
  • D、final public static void main(String [] array)
  • E、public static void main(String args[])

正确答案:D,E

更多相关问题