【Java基础】修饰符

本文详细解析了Java中的访问修饰符public、private、protected及非访问修饰符static、final、abstract、synchronized和volatile的作用与用法。包括它们如何控制类成员的访问权限,以及如何用于实现特定的功能。
摘要由CSDN通过智能技术生成

访问修饰符 public private protected

在这里插入图片描述

1.public

默认修饰符为public。公共的。

2.private

–私有访问修饰符是最严格的访问级别,以被声明为 private 的方法、变量和构造方法只能被所属类访问,并且类和接口不能声明为 private
–Private表示该属性(方法)为只有本类内部可以访问(类内部可见)。
–声明为私有访问类型的变量只能通过类中公共的 getter 方法被外部类访问。

3.protected

–子类与基类在同一包中:被声明为 protected 的变量、方法和构造器能被同一个包中的任何其他类访问。
–子类与基类不在同一包中:那么在子类中,子类实例可以访问其从基类继承而来的 protected 方法,而不能访问基类实例的protected方法。

非访问修饰符 static final abstract synchronized 和 volatile

1.static

–用来修饰类变量:static 关键字用来声明独立于对象的静态变量,无论一个类实例化多少对象,它的静态变量只有一份拷贝。 静态变量也被称为类变量。局部变量不能被声明为 static 变量。
–用来修饰类方法:静态方法不能使用类的非静态变量。

public class InstanceCounter {
   private static int numInstances = 0;
   protected static int getCount() {
      return numInstances;
   }
 
   private static void addInstance() {
      numInstances++;
   }
 
   InstanceCounter() {
      InstanceCounter.addInstance();
   }
 
   public static void main(String[] arguments) {
      System.out.println("Starting with " +
      InstanceCounter.getCount() + " instances");
      for (int i = 0; i < 500; ++i){
         new InstanceCounter();
          }
      System.out.println("Created " + InstanceCounter.getCount() + " instances");
   }
}

输出结果:Starting with 0 instances Created 500 instances

2.final

最终的,最后的。final 修饰的类不能够被继承,修饰的方法不能被继承类重新定义,修饰的变量为常量,是不可修改的。
final 修饰符通常和 static 修饰符一起使用来创建类常量。

3.abstract

用来创建抽象类和抽象方法。
–抽象类不能用来实例化对象,声明抽象类的唯一目的是为了将来对该类进行扩充。
–一个类不能同时被 abstract 和 final 修饰。
–如果一个类包含抽象方法,那么该类一定要声明为抽象类,否则将出现编译错误。
–抽象类可以包含抽象方法和非抽象方法。

4.synchronized 和 volatile

主要用于线程的编程。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值