• 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

  • 相关阅读:
    (转)写好程序注释的十三条建议
    注册表添加NoDrives隐藏盘符(禁用U盘)参数说明
    AJAX实用教程——开篇
    浅谈函数求解与人生
    C#(服务器)与Java(客户端)通过Socket传递对象
    BI开发之——Mdx基础语法(2)
    UML——序列图
    UML——序列图案例总结
    ORM内核原理解析之:延迟加载
    应用程序系统基本设计原则——SOLID
  • 原文地址:https://www.cnblogs.com/Wision-22/p/9853814.html
Copyright © 2020-2023  润新知