zoukankan      html  css  js  c++  java
  • JAVA基础-修饰符与关键字

     

    访问修饰符
      1. public
        1.0 可修饰:类/接口/方法/变量
        1.1 访问范围:任意包任意类
      2. protected
        2.0 可修饰:方法/变量+内部类
        2.1 访问范围:同包内皆可访问+子类继承自基类的方法和变量(不同包)
      3. default可不写
        3.0 可修饰:类/接口/方法/变量
        3.1 访问范围:同包内皆可访问
      4. private
        4.0 可修饰:方法/变量
        4.1 访问范围:当前类
      严格程度:从上至下递增(其他包-不同包子孙类-同包子孙类-同包-当前类)
    非访问修饰符
      1. static
        1.0 可修饰:方法/变量,变成 类方法/类变量
        1.1 特点:
          1.10 将方法和变量变为类共享,属于类所有该类实例共享,不单独属于实例,在内存上只存在一份拷贝。
          1.11 可以直接通过 类名.方法名/类名.变量名访问属性
          1.12 类方法内不能有this. 和 super.关键字引用;当静态方法引用外部变量和方法时,被引用的方法和变量必须是static类型的或者通过了 obj.非static变量和方法的方式去引用,否则编译不通过。

          如下11行和13行会报错,10,12,14,15不会报错。

        

           1.13  静态方法内只能访问静态成员,但是可以定义非静态变量。

        1.2 应用:使得方法和属性具有该类实例共享的特性,
      2. final
        2.0 可修饰:类/方法/变量
        2.1 final类:不能被继承/无子类(最后即绝后)
        2.2 final方法:不能被重写,可以重载。
          2.20 目的:防止方法被修改
          2.21 重写:子类重写父类方法,方法名一样,输入和输出一样,方法内部实现不一样。
          2.22 重载:同一个类中,方法名一样,输入一定不一样,输出无限制。
        2.3 final变量:不能重新赋值,必须显式初始化。static+final常用语定义类常量
      3. abstract
        3.1 可修饰:类/方法/
        3.2 修饰类:
          3.20 抽象类,抽象类不一定有抽象方法,抽象方法一定在抽象类中
          3.21 目的:用于将来进行类扩充,与final是互斥的不能同时存在。
        3.3 修饰方法:
          3.30 抽象方法不带方法体如 abstract void test();
          3.31 非抽象子类必须实现抽象父类的所有抽象方法
      4. transient
        4.1 作用:修饰不需要序列化的成员变量(实例变量)
      应用于线程编程
      5. volatile
        5.1 作用:保证成员变量/类变量,被多个线程操作时,对所有线程是立即可见的,即在多个线程间值都是一样的。
      6. synchronized
        6.1 可修饰:类/方法/代码块
        6.2 特点:同一个时间点只能被一个线程访问

    常见关键字
      this
        1. 含义:当前对象的引用
        2. 应用场景:
          2.0 方法内,局部变量和成员变量重名时:this.name=name
          2.1 构造方法中调用当前类的其他构造方法:this(参数)
      super
        1. 含义:当前对象的所属类的父类实例的引用
        2. 应用场景:
          2.0 子类中访问父类的属性:super.field
          2.1 子类中调用父类的方法:super.method()
          2.1 子类构造方法调用父类构造方法:super(参数)

  • 相关阅读:
    【NOIP2013】花匠
    【DP合集】tree-knapsack
    【DP合集】m-knapsack
    【DP合集】背包 bound
    【DP合集】合并 union
    【DP合集】棋盘 chess
    BZOJ1026 [SCOI2009]windy数
    最长上升子序列 LIS nlogn
    再谈线性基
    数论问题算法模板
  • 原文地址:https://www.cnblogs.com/zhoujie0710/p/14070456.html
Copyright © 2011-2022 走看看