修饰符

本文详细介绍了Java中的权限修饰符,包括public、private、protected和default的访问范围,以及如何使用它们来控制类、方法和变量的访问级别。同时,文章还探讨了特征修饰符,如final、static、abstract、native、synchronized、volatile和transient的用途和应用场景,帮助读者深入理解这些修饰符在Java编程中的重要性。
摘要由CSDN通过智能技术生成

权限修饰符

权限修饰符有:公共访问控制符public 、保护访问控制符protected 、缺省默认访问控制符default、私有访问控制符private,这些修饰符都可以用来修饰类,方法,变量。

(1)公共访问控制符 public:用 public 修饰的域称为公共域。由于 public 修饰符会降低运行的安全性和数据的封装性,所以一般应减少 public 域的使用。

(2)私有访问控制符 private:private 修饰的成员变量只能被该类自身所访问,不能被其它任何类 ( 包括子类 ) 访问。

(3)保护访问控制符 protected:用 protected 修饰的成员变量可以被三种类所引用:①该类自身;②同一个包中的其它类;③其它包中的子类。使用修饰符 protected 的主要作用是允许其它包中的子类来访问父类的特定属性。

(4)缺省默认修饰符 :没有访问控制符或者是用default修饰的成员变量可以被该类本身或同一包中的其他类访问。

权限修饰符访问范围

访问级别 访问权限修饰符 同类 同包 子类(不同包) 不同包(其他类)
公共的 public 允许 允许 允许 允许
受保护的 protected 允许 允许 允许 允许
默认的 允许 允许 允许 不允许 不允许
私有的 private 允许 不允许 不允许 不允许

注意:protected修饰的属性或方法,允许不同包的子类中访问。注意这里的访问方式是通过继承访问父类中的protected属性或方法,而不是直接通过父类实例访问protected属性或方法

特征修饰符

特征修饰符有:最终控制符final 、静态控制符static 、抽象控制符abstract 、本地方法控制符native 、同步方法控制符synchronized、易失 ( 共享 ) 修饰符volatile 、暂时性修饰符transient,这些修饰符有的可以修饰类,有的可以修饰方法、有的可以修饰变量

final 最终的,不可更改的

final修饰变量:

  • 如果在定义时,没有赋初始值,给变量一次存值的机会(因为变量在栈内存内,没有默认值,如果不给机会,就没法使用)
  • 一旦变量被存储了一个值,final修饰后,不能再次改变
    如果修饰的是基本类型,则变量内的值不让改变——常量
    如果修饰的是引用类型,则变量内的地址引用不让改变———对象唯一

final修饰属性:

  • final 表示"最后的、最终的"含义,变量一旦赋值后,不能被重新赋值。被 final 修饰的实例变量必须显式指定初始值(否则编译报错)。
  • final 修饰符通常和 static 修饰符一起使用来创建类常量。
public class Test{
   
  final int value = 10;
  // 下面是声明常量的实例
  public static final int BOXWIDTH = 6;
  static final String TITLE = "Manager";
 
  public void changeValue(){
   
     value = 12; //将输出一个错误
  }
}

final修饰方法:

  • 父类中的
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值