一:类的构成:
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();