Java入门之继承(下)

作者: kakarotto | 来源:发表于2018-07-31 23:54 被阅读2次

    Object类

    • Object类是所有类的父类

    • 一个类没有使用extends关键字明确标识继承关系,则默认继承Object类 (包括数组)

    • Java中的每个类都可以使用Object中定义的方法

    可以在Java官方文档中查找Object类中的自带的方法

    Object类官方文档

    final关键字

    1. final关键字修饰的

      • 表示该类不允许有子类,也就是说不允许被继承
    2. final关键字修饰的方法

      • 不能修饰构造方法

      • 该方法不允许被子类重写

      • 可以正常被子类继承使用

    3. final关键字修饰方法内部的变量(局部变量)

      • 只要在具体被使用之前进行赋值即可

      • 一旦赋值不允许被修改

    4. final关键字修饰类当中成员属性时,只有在三个特定的位置可以对final修饰的成员属性进行赋值,

      • 定义时直接初始化

      • 构造方法中

      • 构造代码块中

    5. final关键字修饰引用类型的变量,

      • 初始化之后不能再指向另一个对象,但对象的内容是可以改变的
    6. 可配合static使用 表示静态的不允许被修改的信息

    /*
    * final eat()修饰方法
    */
    public final void eat(){
    
    }
    
    public class Animal{
      public final int age = 18; //final 修饰变量 并 赋值
    }
    

    注解

    从JDK1.5版本引入的一个特性

    可以声明在包、类、属性、方法、局部变量、方法参数等,的前面,用来对这些元素进行说明、解释。

    注解可以按照两种不同的类别来进行区分:

    按照运行机制来分
    1. 源码注解 :注解只在源码中存在,编译成.class文件注解就不存在了(例:@Override)

    2. 编译时注解 :注解在源码和.class文件中都存在

    3. 运行时注解 :在运行阶段还起作用,甚至会影响运行逻辑的注解(例:Spring注解:@Autowired)

    按照来源区分
    1. 来自JDK的注解 :例:@Override

    2. 来自第三方的注解 :例:Spring注解:@Autowired

    3. 我们自己定义的注解 :自己编写的注解

    @Override
    public void eat(){
      // @Override 用来标识此方法是重写父类的一个方法
      System.out.println();
    }
    

    相关文章

      网友评论

        本文标题:Java入门之继承(下)

        本文链接:https://www.haomeiwen.com/subject/augkvftx.html