JAVA——————访问修饰符

一、权限修饰符

  1. 权限修饰符使用范围

关键字

本类中

同包类中

子类中

其他类中

public(公共的)

protected(受保护的)

X

默认(不写)

只能同包子类访问,非同包子类不能访问

X

private(私有的)

X

X

X

  1. 权限修饰符的范围 public > protected > 默认的 > provate
  2. 需要注意的是,默认的权限修饰符只能在本类和同包类中使用,同包子类中可以使用,同包子类本质上还是同包类

二、static 静态的

  1. static本身是一个修饰符,是用来修饰静态资源的

静态资源:属于类的,由且仅有一份

  1. 可以修饰变量,方法,代码块,import,内部类,
  2. 静态是从类的层面来说的,已经超越了对象
  3. 静态变量:
    1. 由static修饰的变量叫做静态变量
    2. 属于类的,不属于对象、存储在方法区中,只有一份
    3. 可以通过对象名来访,但是通常我们使用类名来访问
    4. 什么是有使用:对象所共享的数据用static修饰
  4. 静态方法
    1. 被static修饰的方法就是静态方法
    2. 属于类,存储在方法区,只有一份
    3. 静态方法不能被重写
      1. 注意:如果父子类中存在相同方法签名的方法,也不是重写
    4. 静态方法可以被重载
    5. 静态方法可以通过对象名调用,但是我们开发中常用类名来调用
    6. 在静态方法中不能访问成员变量和成员方法
    7. 在静态方法中不可以使用this,super关键字
  5. 静态代码块
    1. 在类中通过static修饰的{}就是静态代码块
    2. 静态代码块属于类的,所以也叫类代码块
    3. 实际上静态代码块是随着类的加兹安而加载到静态区(方法区中),在类创建对象或者执行方法之前执行一次,且只执行一次
    4. 什么时候用:初始化/加载静态资源/静态变量
  6. 静态引入

import static java.lang.System.out;

public class StaticDemo03 {

    public static void main(String[] args) {

        //System.out.println("HelloWorld");

        out.println("HelloWorld");

    }

}

  1. 总结
    1. 静态资源都是先于对象存在
    2. static修饰的变量称之为静态变量,属于类的,存储在方法区,.class文件加载的时候就加载了,所有对象共享的资源,通过类名.来访问
    3. static修饰的方法称之为静态方法,属于类的,存储在方法区,.class文件加载的时候就加载了,所有对象共享的方法,通过类名.来调用
    4. static修饰的代码块诚挚为静态代码块,类加载的时候就加载,初始化静态资源的时候使用
    5. import  static  称之为静态引入吗,使用的时候不需要明确类名

三、final

  1. 概念:final 表示最终的,不可变的
  2. 可以用来修饰变量,方法,类
  3. 修饰变量,
    1. final修饰的变量因为不可变,因此称之为常量,但是一般不单独使用,而是 final static  来修饰静态常量
    2. final修饰的变量不可以被更改
    3. final如果修饰的是引用数据类型变量,地址不能发生改变
  4. 修饰方法
    1. final修饰方法被称之为最终方法
    2. 最终方法可以被重载
    3. 最终方法不可以被重写
  5. 修饰类
    1. final修饰的类叫做最终类
    2. 最终类不能被继承,也不能有匿名内部类的形式(后面说)
  6. 总结
    1. final修饰的变量不可以被改变
    2. final修饰的方法不能被重写
    3. final修饰的类不能被继承

四、常量 static final 应用率高

  1. 由static final修饰的变量叫做静态常量,简称常量
  2. 必须声明的同时进行初始化
  3. 建议:常量名所有的字母都大写,多个单词之间用_分割
  4. 常量通常使用类名.来访问
  5. 什么时候用:在程序运行的过程中数据永远不会发生改变,并且经常使用到
  6. 编译器在编译的时候会将常量直接替换成具体的值,效率高

五、枚举

  1. 枚举是一种引用数据类型
  2. 特点:枚举类型的对象数据是固定的,尝尝用于定义一组常量
  3. 所有的枚举都继承Enum类,其中提供了一组方法供我们使用   values()
  4. 枚举类的构造方法默认都是私有方法
  • 10
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值