抽象类和接口补充题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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) {
}
}