JAVA编程基础内容回顾

JAVA编程基础回顾

1.非访问修饰符:

  • static修饰符,用来修饰类方法和类变量
    • 静态变量,即类变量;局部变量不能被声明为静态变量
    • 静态方法:静态变量必须用静态方法来访问
public class InstanceCounter{
private static int numInstance=0;
protected static int getCount(){
    return numInstance;
}
private static void addInstance(){
    numInstance++;
}
public void InstanceCounter(){
    InstanceCounter.addInstance();
}
public void static main(String []args){
    for (int i=0;i<500;++i){
    new InstanceCounterS();}
    }
}
  • final修饰符,用来修饰类、方法和变量,修饰的类不能被继承,修饰的方法不能被继承类重新定义、修饰的变量为常量不能被修改
    • final变量能被显式的初始化切只能被显式的初始化一次。final对象的引用不可以改变,但里面的值可以改变
public final score{
final int score=0;
public void changeScore(int a){
    score=a;//这里将会报错
}
}
 - final方法的价值在于防止该方法的内容被修改
 - final类:不能被继承,没有类能够继承final类的任何特性,缺乏实际使用价值
public final class Test{//类体}
  • abstract修饰符,用来创建抽象类和抽象方法:
    • 抽象类不能用来实例化对象
    • 抽象类的目的式便于将来对类的扩充
    • 抽象类可以包含非抽象方法和抽象方法(没有给出具体实现的方法)
      1.抽象方法是一种没有给出具体实现的方法,具体实现由子类提供
      2.抽象方法不能被声明成final和static
      3.任何继承抽象类的子类都必须实现父类的所有抽象方法,除非子类也是抽象类。
      4.包含抽象方法的类必须声明为抽象类。抽象类不一定包含抽象方法。
public abstract class Superclass
  • synchronized和volatile修饰符,主要用于线程的编程
    • synchronized关键字声明的方法同一时间只能被一个线程访问,synchronized可用于static,final,abstract,synchronized四个访问修饰符
public synchronized void showDetail(){
//函数体
}
  -transient修饰符 序列化的对象包含背transient修饰的实例变量时,java虚拟机跳过该特定的变量,用来处理类和变量的数据类型
public transient int limit=55;//不会持久化
public int b;//持久化
  • volatile 修饰符
    • volatile修饰的成员变量每次被线程访问时,强制从内存变量中读取该成员变量的值,当变量的值发生变化时,会强制线程将变量值会写到共享内存,因此不论在任何时刻,两个线程总是看到成员变量的同一个值。volatile对象引用可能是null。
    • 说白了就是两个线程均能实时完成对同一个成员变量的修改。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值