1、什么是抽象方法?什么是抽象类?
如果一个方法只有方法定义没有方法的内容,那么该方法就是抽象方法
。使用关键字abstract定义。拥有抽象方法的类,那么就是抽象类、
如果一个类继承抽象类,那么必须重写该抽象内种所有抽象方法。否则编译错误。抽象类不能直接实例化,抽象类变量只能指向子类对象、
2、接口如何定义?接口如何实现?实现一个接口必须要做什么?
接口是行为的抽象,将两个或多个类中相同的行为抽象到接口中。定义接口使用关键字 interface,一个类要实现接口使用关键字 implements。一个类实现一个接口,必须实现接口种定义的所有抽象方法。
3、接口中的方法修饰符是什么?接口中的变量修饰符是什么?
定义接口使用关键字 interface,一个类要实现接口使用关键字 implements。
4、接口和抽象类的区别是什么?
接口和抽象类不同。抽象类中可以有抽象方法,也可以有实现方法。但接口中只能有抽象方法,而且抽象方法的修饰符为public abstract。接口中可以定义变量,但该变量的修饰符为public static final
5、什么时候使用继承?什么时候使用接口?
一个类只能继承另一个类,但是可以实现多个结构
接口可以多继承接口,但抽象只能单根继承。
-----------------------------------------------------------
6、说出下面代码执行结果
class Base{}
interface ITest{}
class Man extends Base{}
class MyTest implements ITest{}
class Test{
public static Man m;
public static MyTest mt = new MyTest();
public static void main(String argv[]){
System.out.println(m instanceof Base);
System.out.println(mt instanceof ITest);
}
}
-----------------------------------------------------------
7、class Base{}
public class Child extends Base{
static byte b1=2;
static byte b2=2;
static int i = -1;
static double d = 10.1;
public static void main(String argv[]){
Child m = new Child();
Base b = new Base();
//Here
}
}
下面哪些代码,当被插入//here所指地方时,编译和运行不会出错
1) b=m;
2) m=b;
3) d =i;
4) b1 =b1+b2;
-----------------------------------------------------------
8、JAVA代码查错
a、
abstract class Name {
private String name;
public abstract boolean isStupidName(String name) {}
}
b、 abstract class Something {
private abstract String doSomething ();
}
c、public class Father{
public Father(int x){
}
}
class Child extends Father{
public Child(){
}
}
d、public class Father{
public void test(){
}
}
class Child extends Father{
public void speak(){
}
}
class Test{
public static void main(String[] args){
Father f = new Child();
f.speak();
}
}
e、interface A{
int x = 0;
}
class B{
int x =1;
}
class C extends B implements A {
public void pX(){
System.out.println(x);
}
public static void main(String[] args) {
new C().pX();
}
}
-----------------------------------------------------------
9、说出运行结果
1、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[]){
Base a = new Abs();
a. another ();
}
public void myfunc(){
System.out.println("My Func");
}
public void another (){
super.another();
myfunc();
}
}
-----------------------------------------------------------
10、
下面哪个方法可以放在注释//here处?
public class Rid{
public void amethod(int i, String s){}
//Here
}
1)public void amethod(String s, int i){}//
2)public int amethod(int i,String s){}
3)public void amethod(int i, String mystring){}
4) public void Amethod(int i, String s) {}
-----------------------------------------------------------
11、下面哪个方法可以放在注释//here处?
class Base{
public Base(int i){}
}
public class MyOver extends Base{
public static void main(String arg[]){
MyOver m = new MyOver(10);
}
MyOver(int i){
//Here
}
}
1)MyOver m = new MyOver();
2)super();
3)Base b = new Base(10);
-----------------------------------------------------------
12、说出运行结果
class A{
public void speak(int a){
System.out.println("ok");
}
}
class B extends A{
public void speak(int a, int c){
System.out.println("yes");
}
public static void main(String[] args){
B b=new B();
b.speak(0);
}
}
-----------------------------------------------------------
编码题:
1、超人、鸟、飞机都会飞,现在空管局的人要控制这些会飞的东西。我们该怎么设计。
2、在一个游戏中,有盗贼,猎人,医生,农民,士兵几类人,这些人都有名称、等级,还可以自己介绍自己;
其中,
盗贼可以偷盗。
猎人可以打猎。
农民可以采矿。
盗贼、猎人和农民可以攻击。
农民、医生可以治疗。
士兵可以抵抗盗贼、猎人和农民等的攻击。
还有一个玩家可以控制这些角色。
设计这个系统。
如果一个方法只有方法定义没有方法的内容,那么该方法就是抽象方法
。使用关键字abstract定义。拥有抽象方法的类,那么就是抽象类、
如果一个类继承抽象类,那么必须重写该抽象内种所有抽象方法。否则编译错误。抽象类不能直接实例化,抽象类变量只能指向子类对象、
2、接口如何定义?接口如何实现?实现一个接口必须要做什么?
接口是行为的抽象,将两个或多个类中相同的行为抽象到接口中。定义接口使用关键字 interface,一个类要实现接口使用关键字 implements。一个类实现一个接口,必须实现接口种定义的所有抽象方法。
3、接口中的方法修饰符是什么?接口中的变量修饰符是什么?
定义接口使用关键字 interface,一个类要实现接口使用关键字 implements。
4、接口和抽象类的区别是什么?
接口和抽象类不同。抽象类中可以有抽象方法,也可以有实现方法。但接口中只能有抽象方法,而且抽象方法的修饰符为public abstract。接口中可以定义变量,但该变量的修饰符为public static final
5、什么时候使用继承?什么时候使用接口?
一个类只能继承另一个类,但是可以实现多个结构
接口可以多继承接口,但抽象只能单根继承。
-----------------------------------------------------------
6、说出下面代码执行结果
class Base{}
interface ITest{}
class Man extends Base{}
class MyTest implements ITest{}
class Test{
public static Man m;
public static MyTest mt = new MyTest();
public static void main(String argv[]){
System.out.println(m instanceof Base);
System.out.println(mt instanceof ITest);
}
}
-----------------------------------------------------------
7、class Base{}
public class Child extends Base{
static byte b1=2;
static byte b2=2;
static int i = -1;
static double d = 10.1;
public static void main(String argv[]){
Child m = new Child();
Base b = new Base();
//Here
}
}
下面哪些代码,当被插入//here所指地方时,编译和运行不会出错
1) b=m;
2) m=b;
3) d =i;
4) b1 =b1+b2;
-----------------------------------------------------------
8、JAVA代码查错
a、
abstract class Name {
private String name;
public abstract boolean isStupidName(String name) {}
}
b、 abstract class Something {
private abstract String doSomething ();
}
c、public class Father{
public Father(int x){
}
}
class Child extends Father{
public Child(){
}
}
d、public class Father{
public void test(){
}
}
class Child extends Father{
public void speak(){
}
}
class Test{
public static void main(String[] args){
Father f = new Child();
f.speak();
}
}
e、interface A{
int x = 0;
}
class B{
int x =1;
}
class C extends B implements A {
public void pX(){
System.out.println(x);
}
public static void main(String[] args) {
new C().pX();
}
}
-----------------------------------------------------------
9、说出运行结果
1、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[]){
Base a = new Abs();
a. another ();
}
public void myfunc(){
System.out.println("My Func");
}
public void another (){
super.another();
myfunc();
}
}
-----------------------------------------------------------
10、
下面哪个方法可以放在注释//here处?
public class Rid{
public void amethod(int i, String s){}
//Here
}
1)public void amethod(String s, int i){}//
2)public int amethod(int i,String s){}
3)public void amethod(int i, String mystring){}
4) public void Amethod(int i, String s) {}
-----------------------------------------------------------
11、下面哪个方法可以放在注释//here处?
class Base{
public Base(int i){}
}
public class MyOver extends Base{
public static void main(String arg[]){
MyOver m = new MyOver(10);
}
MyOver(int i){
//Here
}
}
1)MyOver m = new MyOver();
2)super();
3)Base b = new Base(10);
-----------------------------------------------------------
12、说出运行结果
class A{
public void speak(int a){
System.out.println("ok");
}
}
class B extends A{
public void speak(int a, int c){
System.out.println("yes");
}
public static void main(String[] args){
B b=new B();
b.speak(0);
}
}
-----------------------------------------------------------
编码题:
1、超人、鸟、飞机都会飞,现在空管局的人要控制这些会飞的东西。我们该怎么设计。
2、在一个游戏中,有盗贼,猎人,医生,农民,士兵几类人,这些人都有名称、等级,还可以自己介绍自己;
其中,
盗贼可以偷盗。
猎人可以打猎。
农民可以采矿。
盗贼、猎人和农民可以攻击。
农民、医生可以治疗。
士兵可以抵抗盗贼、猎人和农民等的攻击。
还有一个玩家可以控制这些角色。
设计这个系统。