抽象类和接口补充题

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

下面的代码如有错误,请指出并加以改正。

(1)

abstract class Name {

private String name;

public abstract boolean isStupidName(String name) { }//抽象方法不能有实现}

(2)

public class Something {

void doSomething() {

private String s = "";//局部变量之前不能放任何修饰符

int l = s.length();

}

}

(3)

abstract class Something {

private abstract String doSomething();//abstract,private不能同时修饰一个方法}

(4)

public class Something {

public int addOne(final int x) {

return ++x;

}

}

//final定义的常量不能被修改

(5)

public class Something {

public static void main(String[] args) {

Other o = new Other();

new Something().addOne(o);

}

public void addOne(final Other o) {

o.i++;

}

}

class Other {

public int i;

}

//final定义的是一个方法,不是里面的变量,所以正确

(6)

class Something {

final int i;//final定义的常量没有初始值

public void doSomething() {

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

}

}

(7)

public class Something {

public static void main(String[] args) {

Something s = new Something();

System.out.pirntln("s.doSomething() returns " + doSomething());

}

public String doSomething() {

return "Do something ...";

}

}//静态方法中不能直接调用类的成员方法

(8)

interface A {

int x = 0;

}

class B {

int x = 1;

}

class C extends B implements A {

public void pX() {

System.out.println(x);//x的用意不明显,不知道调用的是A还是B的x }

public static void main(String[] args) {

new C().pX();

}

}

(9)

interface Playable {

void play();

}

interface Bounceable {

void play();

}

interface Rollable extends Playable, Bounceable {

Ball ball = new Ball("Pingpang");//相当于public static final,之后不能再修改}

public class Ball implements Rollable {

private String name;

public Ball(String name) {

= name;

}

public void play() {

ball = new Ball("Football");

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

}

public String getName() {

return name;

}

public static void main(String[] args) {

}

}

相关文档
最新文档