zoukankan      html  css  js  c++  java
  • Java基础笔记(十七)——继承(续)final

    final  最终的

    修饰,此类不能被继承。final与访问修饰符public位置随意,在class前即可。public final class A{ }

    修饰方法,此方法不能被子类重写,但可以被子类正常继承。  public final void eat(){ }

    修饰方法内的局部变量,此局部变量不允许被修改。其中,只要在使用前赋值即可,一旦赋值就不可改变。final int a=10;

    修饰类中成员属性,值也不可改变。值的赋值方式有三种:(1)定义直接初始化;(2)在构造代码块中对其赋值;(3)在构造方法中初始化(有多个构造方法,都要赋值)。如果这三种方式都没赋值,则编译出错。如果有多个构造方法,只在其中一个构造方法里赋值也是编译出错的,因为创建对象时不一定会用哪个构造方法,没有赋值的,final变量就无效未初始化了,即出错。

    Java包括基本数据类型和引用数据类型。

    基本数据类型:int、float、double...     直接赋值    int a=1;

    引用数据类型:类、String、System、数组...   实例化方式构造对象,且对象里有很多属性值

    final修饰引用数据类型,引用地址不可改,属性值可改。

    final Animal animal = new Animal("hh",1);

    animal = new Animal();    //编译出错

    animal.age=2;     //属性值都是可以改的

    animal.name="aa";

    修饰基本数据类型的变量——初识赋值之后不能更改

    修饰引用类型的变量——初识化之后不能再指向另一个对象,但对象的内容是可变的。

    final配合static使用

    可以修饰方法和变量,其中变量作为全局变量,不允许被修改。可用作只需加载一次,又不需要修改的配置信息。

    如:public static final String URL="www.xx.com";      //final和static位置可换,随意

    final可提高性能,但会降低可扩展性。

    注解

    如:@Override  重写方法的注解

    重写父类方法时可以用注解快捷方式,选择要重写的方法,快速添加。

    注解相当于一个标记,告诉编译器和系统,还可以提示编程以防出错。例如,子类要重写父类的一个方法,加上@Override注解,然而父类忘记写此方法,会提示出错信息。

    注解按照运行机制分:

    源码注解——给编译器看,注解只在源码中存在,编译成.class文件就不存在了。如:@Override

    编译时注解——注解在源码和class文件中都存在。

    运行时注解——在运行阶段还起作用,甚至会影响运行逻辑的注解。如:    Spring注解:@Autowired

    按照来源分:

    来自JDK的注解   如:@Override

    来自第三方的注解    如:Spring注解:@Autowired

    我们自己定义的注解

  • 相关阅读:
    Spring AOP 随记
    Java设计模式系列 — 构造器模式
    【Java线程安全】 — 常用数据结构及原理(未完结)
    【最佳实践】好用的Quartz管理器类
    Timer和时间调度
    Java9之HashMap与ConcurrentHashMap
    记一次maven的包冲突经历
    hbase高可用集群部署(cdh)
    HBase 1.2.6 完全分布式集群安装部署详细过程
    hadoop-2.7.3完全分布式部署
  • 原文地址:https://www.cnblogs.com/tendo/p/10506746.html
Copyright © 2011-2022 走看看