Java入门之继承(下)-阿里云开发者社区

开发者社区> 开发与运维> 正文
登录阅读全文

Java入门之继承(下)

简介: Object类 Object类是所有类的父类 一个类没有使用extends关键字明确标识继承关系,则默认继承Object类 (包括数组) Java中的每个类都可以使用Object中定义的方法 可以在Java官方文档中查找Object类中的自带的方法...

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();
}

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享: