编译以下代码,将出现什么情况?()
abstract class Shape
{ abstract void draw();}
Class Square extends Shape{ }
A. Square类和Shape类都可以成功编译
B. Square类无法编译,但Shape类可以编译
C. 类无法编译,但Square类可以编译
D. Square类和Shape类都无法编译
第1题:
下面的代码中有什么错误吗?_______
using System;
class A
{
public virtual void F(){
Console.WriteLine("A.F");
}
}
abstract class B:A
{
public abstract override void F();
第2题:
试题六(共15分)
阅读以下说明、图和Java代码,填补Java代码中的空缺(1)~(6),将解答写在答题纸的
对应栏内。
【说明】
已知对某几何图形绘制工具进行类建模的结果如图6.1所示,其中Shape为抽象(abstract)类,表示通用图形,Box(矩形)、Ellipse(椭圆)和Line(线条)继承(extends)了Shape类,其中,Circle表示圆(即特殊的椭圆)。
下面的Java代码用于实现图 6-1所给出的设计思路,将其空缺处填充完整并编译运行,输出结果为:
Ellipse
Circle
Ellipse
C
E
【Java代码】
(1) class Shape{
public Shape(String name){
this.name= name;
}
(2) void paint();
String getName(){
retum this.name;
}
final String name;
};
//Box 和Line类似下面 Ellipse,其代码略
class Ellipse (3) {
public Ellipse(String name){
super(name);
System.out.println("Ellipse");
}
Void paintO{∥绘制现状示意代码
System.out.println(getName0);
}
};
class Circle (4) {
public Circle(String name){
super(name);
System.out.println("Circle");
}
};
class Diagram{
private Shape shapes[]= new Shape[2];
public void drawAShape(Shape shape){
shape.paint();
}
void erase A Shape(Shape shape){
∥删除形状,代码略
}
void drawShapes(){
shapes*0+= new Circle("C”);
shapes[l]= new Ellipse("E");
for (int i=O; i<2;++i) {
drawAShap(shapes[i]);//绘制形状
}
}
void close(){
for (int i=0;i<2; ++1) { []关闭图,删除所绘制图形
(5) ;
}
}
public static void main(String[] args){
Diagram diagram= (6) ;
diagram.drawShapes();
diagram.close();
}
}
第3题:
此题为判断题(对,错)。
第4题:
此题为判断题(对,错)。
第5题:
第6题:
Which declaration prevents creating a subclass of an outer class?()
第7题:
下列哪个类的声明是正确的()
第8题:
Static class FooBar{}
Private class FooBar{}
Abstract public class FooBar{}
Final public class FooBar{}
Final abstract class FooBar{}
第9题:
代码通过编译
由于多个错误导致编译失败
由于第1行的错误导致编译失败
由于第6行的错误导致编译失败
第10题:
public class Circle implements Shape { private int radius; }
public abstract class Circle extends Shape { private int radius; }
public class Circle extends Shape { private int radius; public void draw(); }
public abstract class Circle implements Shape { private int radius; public void draw(); }
public class Circle extends Shape { private int radius;public void draw() {/* code here */} }
public abstract class Circle implements Shape { private int radius;public void draw() { / code here */ } }
第11题:
0
1
2
3
第12题:
1
2
3
4
第13题:
下列程序片段中,能通过编译的是( )。
A.public abstract class Animal{ public void speak;}
B.public abstract class Animal{ public void speak{);}
C.public class Animal{ pubilc abstract void speak;}
D.public abstract class Animal{ pubile abstract void speak{};}
第14题:
以下程序的编译和运行结果为?
abstract class Base{
abstract public void myfunc();
public void another(){
System.out.println("Another method");
}
}
public class Abs extends Base{
public static void main(String argv[]){
Abs a = new Abs();
A.amethod();
}
public void myfunc(){
System.out.println("My Func");
}
public void amethod(){
myfunc();
}
}
A.输出结果为 My Func
B.编译指示 Base 类中无抽象方法
C.编译通过,但运行时指示Base 类中无抽象方法
D.编译指示Base 类中的myfunc方法无方法体,没谁会喜欢该方法。
第15题:
此题为判断题(对,错)。
第16题:
设有程序如下: abstract class absclass { abstract void method1(); } class conclass extends absclass { public void method1() { System.out.println("子类");} } public class mainclass { public static void main(String args[]) { absclass ac1=new absclass(); //语句1 absclass ac2=new conclass(); //语句2 ac2.method1(); //语句3 } } 则main()方法中的第一条语句(即语句1)可以顺利通过编译。()
此题为判断题(对,错)。
第17题:
在Java语言中,如果你有下面的类定义: Abstract class Shape{ Abstract void draw(); } class Square extendeds Shape{} 如果你试图编译上面的代码会发生()。
第18题:
现有: interface I { void go(); } abstract class A implements I { } class C extends A { void go(){ } } 结果是什么?()
第19题:
下列是抽象类的声明的是()
第20题:
一切成功编译
Shape可以编译,Square不能编译
Square可以编译,Shape不能编译
Shape,Square都不能编译
第21题:
代码通过编译
由于第1行的错误导致编译失败
由于笫3行的错误导致编译失败
由于第6行的错误导致编译失败
第22题:
Shape s = new Shape(); s.setAnchor(10,10); s.draw();
Circle c = new Shape(); c.setAnchor(10,10); c.draw();
Shape s = new Circle(); s.setAnchor(10,10); s.draw();
Shape s = new Circle(); s->setAnchor(10,10); s->draw();
Circle c = new Circle(); c.Shape.setAnchor(10,10); c.Shape.draw();
第23题:
x.a2();
z.a2();
z.c1();
z.a1();
y.c1();
x.a1();