java子类调用父类方法 子类继承父类,怎么调用父类的方法?
子类继承父类,怎么调用父类的方法?synchronized可以加在方法上也可以加在代码块上,加在方法上相当于代码块可以看到锁的是对象。回到你这里的问题注意这里锁的是对象,不管父类还是子类他们对应的都是
子类继承父类,怎么调用父类的方法?
synchronized可以加在方法上也可以加在代码块上,加在方法上相当于代码块
可以看到锁的是对象。回到你这里的问题注意这里锁的是对象,不管父类还是子类他们对应的都是同一个对象,因为是一个对象在调用这个方法,此时this关键字指向的就是这个对象,你可以想象子类现在是这样的:可以看到这里该对象的锁获取了两次,如果锁是不可重入的,那么第二次锁将获取不到。对象维持一个锁的计数器,进入锁加一,退出锁减一,如果为零则可以获取该锁。没有你提到的子类对象和父类对象之分。这里需要注意的是:synchronized(Son.class){ }synchronized(Foo.class){ }这两个锁的是类的类类型,也就是Class类的实例对象,每一个类编译之后会生成一个.class文件,.class文件加载到jvm中时会实例化一个对应的Class对象,并且只会实例化一次。