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

    我们自己定义的注解

  • 相关阅读:
    数据仓库基本概念
    收藏--关于命名规范、维度明细层及集市汇总层设计的思考
    Thinkphp6框架学习:有关数据库的基本操作
    算法第一章作业
    解决 Intellij IDEA Cannot Resolve Symbol ‘BASE Decoder’ 问题
    利用Kruskal算法求最小生成树解决聪明的猴子问题 -- 数据结构
    利用BFS解决拯救007问题 -- 数据结构
    列出连通集(DFS及BFS遍历图) -- 数据结构
    42行代码完成深入虎穴
    利用Tarjan算法解决(LCA)二叉搜索树的最近公共祖先问题——数据结构
  • 原文地址:https://www.cnblogs.com/tendo/p/10506746.html
Copyright © 2011-2022 走看看