ObJect下P118

 

4.2Final关键字

  1. 修饰类不能被子类继承
  2. 修饰方法不能被子类重写
  3. 修饰的变量是常量只能被赋值一次,而且定义后必须赋值不然JVM会报错

4.3抽象类与接口

  1. abstrat抽象修饰符
  2. 根据描述是方法常用来描述类的行为特征,但这些方法实现方式无法确定

  4.3.1 接口

  关键字:interface and implements

  1. [public] interface 接口名[extends 接口1,接口2……]{
    1.   [public][static][final]数据类型 常量名=常量值;  
    2.   [public][abstract]返回值 抽象方法名(参数列表);
    3. }
  2. 接口中的方法都是抽象的不能被实例化对象;
  3. 接口中属性只能是常量;
  4. 当一个类实现接口时,如果这个类是抽象类,那么则实现接口中部分方法即可,否则需要实现接口中所有方法
  5. 一个类通过implements实现接口可以实现多个接口,被实现接口之间用,隔开。
  6. 一个类在继承另一个类同时还可以实现接口,方法extends在前implements在后  
    1. 如:  class Dog extends Can implements Animal{
    2. 先继承,在实现
    3. }
package D5;
//定义接口Animal
interface Animal{  
 //定义全局常量默认修饰符是public static final
 String name="动物的行为"; 
  void shout();        //定义抽象方法默认修饰符public abstract
  void breathe() ;
  void run();
}
//令定义LandAnimal接口 继承Animal
interface LandAnimal extends Animal{  
 
 void LiveOnLand();
}
//Dog类实现Animal接口
abstract class Dog implements LandAnimal{   //
 //实现shout方法
 
 @Override
 public void run() {
  // TODO 自动生成的方法存根
  System.out.println(name+":"+"奔跑");
 }
 @Override
 public void LiveOnLand() {
  // TODO 自动生成的方法存根
  System.out.println(name+":"+"生活在陆地");
 }
}
class Dogs extends Dog {
 public void shout() {
  System.out.println(name+":"+"叫");
 }
 
 @Override
 public void breathe() {
  // TODO 自动生成的方法存根
  System.out.println(name+":"+"呼吸");
 }
}
public class Port1 {
 public static void main(String[] args) {
  // TODO 自动生成的方法存根
  Dogs dog=new Dogs(); //创建Dog类实例对象
  dog.shout();    // 调用Dog类的shout()方法
  dog.breathe();
  
 }
}
//-------以上是Port接口练习
package D4;
//定义抽象类Animal
abstract class Animal{  //必须注意一个类包含抽象方法这个类必须相同*
 //定义抽象方法shout 
 abstract void shout();   //抽象类不能被调用因为没有或没有方法体*
}
//定义抽象类Animal子类Dog
class Dog extends Animal{   //若想调用必须构造Animal类的子类通过子类调用*
 //
 void shout(){
  System.out.println("WangWang");
 }
}
public class Example06 {
 public static void main(String[] args) {
  // TODO 自动生成的方法存根
  Dog dog=new Dog(); //创建Dog类实例对象
  dog.shout();    // 调用Dog对象的shout()方法
  
 }
//-------以上是final关键字对继承练习

----------

 

 

抽象类

final

 

posted on 2018-10-26 01:19  Jision  阅读(137)  评论(0编辑  收藏  举报

导航