类的构成和普通的修饰符

一:类的构成:
    1.成员变量(全局变量,属性,字段)
            类变量(静态变量): static String name="大帅比";
            实例变量: String sex = "男";
            常量: final int weight = 140;
    2.构造方法
            有参构造
            无参构造
    3.成员方法(行为,函数)
            局部变量(临时变量):在方法里的变量
            

            
二修饰符
    1.访问权限修饰符:public    protected 缺省    private
       状态修饰符:static, final
       抽象修饰符: abstract
        
   .2    修饰(外部)类的权限修饰只能是public abstract final 或者是缺省就是前面什么都不加
        但是内部类就不同,内部类可以分为a.成员内部类 b.局部内部类 c.静态内部类 d.匿名内部类
        内部类可以看成外部类的一个成员存在,与外部类的属性,方法并列
        所以可以修饰属性和方法的,一般也可以修饰内部类【但synchronzied不一样】
        
    3.java中synchronized修饰不同位置的用法
       synchronized是java中的关键字,是一种同步锁,可以修饰的有如下几种
      1. 修饰一个代码块,被修饰的代码块称为同步语句块,其作用的范围是大括号{}括起来的代码,作用的对象是调用这个代码块的对象;
                    public  void run() {
                        synchronized(this) {
                            for (int i = 0; i < 5; i++) {
                                try {
                                    System.out.println(Thread.currentThread().getName() + ":" + (count++));
                                    Thread.sleep(100);
                                } catch (InterruptedException e) {
                                    e.printStackTrace();
                                }
                            }
                        }
                }
      2. 修改一个类,其作用的范围是synchronized后面括号括起来的部分,作用的对象是这个类的所有对象。
                    public static void method() {
                        synchronized(SyncThread2.class) {
                            for (int i = 0; i < 5; i ++) {
                                try {
                                    System.out.println(Thread.currentThread().getName() + ":" + (count++));
                                    Thread.sleep(800);
                                } catch (InterruptedException e) {
                                    e.printStackTrace();
                                }
                            }
                        }
                    }

      3. 修饰一个方法,被修饰的方法称为同步方法,其作用的范围是整个方法,作用的对象是调用这个方法的对象;
                    public synchronized void method(){}
      4. 修改一个静态的方法,其作用的范围是整个静态方法,作用的对象是这个类的所有对象;
                    public synchronized static void method();
     
      
      
    

猜你喜欢

转载自blog.csdn.net/qq_38777614/article/details/81159574