logo资料库

Java中抽象类的学习总结.pdf

第1页 / 共5页
第2页 / 共5页
第3页 / 共5页
第4页 / 共5页
第5页 / 共5页
资料共5页,全文预览结束
抽象类的知识点 全磊磊  抽象类的学习总结 抽象类(1)  •  在定义 Java 方法时可以只给出方法头,而不必给出方法体、即方法实现 的细节,这样的方法被称为抽象方法。  •  抽象方法必须使用关键字 abstract 修饰,包含抽象方法的类必须声明为 抽象类。  •  Public abstract class Animal{  •  •  •  •  •  •  •  •  private int age;  public void setAge(int age){  this.age=age;  }  public int getAge(){  return age;  }  public abstract void cry();  •  }  抽象类(2)  •  Public class bird extends Animal{  •  public void cry(){//重写方法 2009­12­14  1 
System.out.println(“ji,ji”);  全磊磊  抽象类的知识点 •  •  •  }  }  •  Public class Dog extends Animal{  •  public void cry(){//重写方法。  System.out.println(“wang wang”);  •  •  •  }  }  抽象类(3)  •  Java 语言规定,子类必须实现其父类中的所有抽象方法,否则该子类也只 能声明为抽象类。  •  抽象类不能被实例化。 抽象类(4)  •  抽象类主要是通过继承、再由其子类发挥作用的,其作用包括两方面:  •  代码重用  •  规划  •  其他特性:  •  抽象类中可以不包含抽象方法;  •  子类中可以不全部实现抽象父类中的抽象方法,但此时子类也只能声明为 抽象类;  •  父类不是抽象类, 但在子类中可以添加抽象方法, 但子类需声明为抽象类;  •  抽象类中可以声明 static 属性和方法; 接口 2009­12­14  2 
抽象类的知识点 全磊磊  •  接口(interface)是抽象方法和常量值的定义的集合。  •  从本质上讲,接口是一种特殊的抽象类,这种抽象类中只包含常量和方法 的定义,而没有变量和方法的实现。  •  接口举例:  •  Public interface Swimer{  •  •  •  •  public static final int id=1;  public abstract void ready();  public abstract void swim();  public abstract void stop();  •  }  接口(2)  •  接口中定义的属性必须是 public static final 的,而接口中定义的方法 则必须是 public abstract 的,因此这些修饰符可以部分或全部省略:  •  和继承关系类似,java 类可以“实现”接口,且接口和实现类之间也存在 多态性。  •  []class  [extends][implements  [,]*]{  •  *  •  }  接口的多重实现(1)  •  •  Interface Runner{  public void run();  •  } 2009­12­14  3 
全磊磊  抽象类的知识点 •  •  Interface Swimmer{  public void swim();  •  }  •  Abstract class Animal{  •  public abstract void eat();  •  }  •  Class Person extends Animal implements Runner,Swimmer{  •  •  •  •  •  •  •  •  •  public void run(){  System.out.println(“我在跑步”);  }  public void swim(){  System.out.println(“我游泳”);  }  Publci void eat(){  System.out.println(“我在吃东西”);  }  •  }  接口间的继承  •  •  Interface A{  public void ma();  •  }  •  •  Interface B{  public int mb(int i); 2009­12­14  4 
全磊磊  抽象类的知识点 •  }  •  •  Interface C extends A,B{  public String mc();  •  }  •  Class D implements C{  public void ma(){  System.out.println(“接口 a”);  }  public void mb(int i){  return 2000+i;  }  public String mc(){  return “Hello!”;  }  •  •  •  •  •  •  •  •  •  •  } 2009­12­14  5 
分享到:
收藏