java入门之继承接口

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、在一个游戏中,有盗贼,猎人,医生,农民,士兵几类人,这些人都有名称、等级,还可以自己介绍自己;
  其中,
      盗贼可以偷盗。
      猎人可以打猎。
      农民可以采矿。  
      盗贼、猎人和农民可以攻击。
      农民、医生可以治疗。
      士兵可以抵抗盗贼、猎人和农民等的攻击。
       还有一个玩家可以控制这些角色。
     设计这个系统。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值