2019.06.28问题及解析
abstract class Animal{
abstract void eat();
}
public class Dog extends Animal{
public Dog(){
System.out.println("dog");
}
public static void main(String[] args) {
Dog dog = new Dog();
}
}
下列说法正确的是:
A.输出dog
B.Animal可以通过编译,Dog无法通过编译
C.Animal不能通过搬移,Dog可以通过编译
D.可以通过编译但是没有输出结果
答案与解析
1.相关知识
抽象类通常用来规范一系列的类,使他们都能实现类似的方法,也使得代码结构更加清晰
继承抽象类的子类需要实现父类中的抽象方法,否则无法通过编译
2.答案解析
Animal中有抽象方法eat(),因此必须在Dog类中实现eat()方法,Dog类中没有实现因此无法通过编译,也就不会有输出结果
A.无法通过编译,错误
B.Dog无法通过编译,正确
C.Dog无法通过编译,错误
D.Dog无法通过编译,错误
答案选B
2019.06.29问题
题目分类
继承——正确使用
题目
public class Cat extends Animal{
int age = 0;
public Cat(int age) {
this.age = age;
}
public static void main(String[] args) {
Cat cat = new Cat(3);
System.out.println(cat.age);
}
}
class Animal{
int age = 2;
public Animal(int age){
this.age = age;
}
}
下列说法正确的是?
A.输出 2
B.输出3
C.输出0
D.编译错误