java一个类有两个synchronized方法,是不是同一时间只能有一个处于运行,这个两个方法的锁是一样的吗

java一个类有两个synchronized方法,是不是同一时间只能有一个处于运行,这个两个方法的锁是一样的吗,第1张

方法的锁是可以设定的,如

methodA(){

synchronized(Object obj){

//方法

}

}

表示对对象obj进行锁吵改定,锁定本类用this,这样可以设定你想上锁的谈昌对象,而不一定两个方法就是锁定的同一个对象,如果不是对同升侍判一对象的锁,就可以同一时间同时运行。

新建一个类的实例,然后调用。

如:

public class ha {

public static void main(String[] args) {

ab ss=new ab()

ss.haha()

}

}

class ab{

public void haha(){

System.out.println("Java")

}

}

在main方法中调用类ab的haha方法。

总结一下:

类名   实例名 = new   类名(构造方法的参数表);

这是实例化,然后用实例名就可以进行调用了:

实例名.方法名(方法参数表);如派猛

注:参数表可以为空

另外,还有一种方法,就是将方法设置为静态(static),用类名直接访问

如:

public class ha {

public static void main(String[] args) 羡纤{

 渣桥  ab.haha()

}

}

class ab{

//加上static

public  static void haha(){

System.out.println("Java")

}

}

加了static后,就可以用类名直接调用。

总结一下:方法声明为:

public static void 方法名(参数表){}

调用格式为:

类名.方法名(参数表);

访问的方式很多!!!! 最简单的创建要访问类的对象 便 CLass A,BA要访问B类中的某个方法或属性, Bb=new B() 这样就可以访问了 b.login()在A类中访问B类搏和迹中的login方法棚野! 也可以用继承来承现, A继承B,A就拥有了B类中的方法和属性, 在A类中直接用super关键字访问B类中的方法或属性就可以。例: super.login()就这是通过继承基并来访问B类中的login方法!继承就是在创建A类时在后面加上extends B 整个是这样的:public class A extends B{}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11971724.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存