搜狗一道java题目 关于对象 synchronized 关键字作用在 int, integer

时间:2021-07-29 23:12:32

搜狗一道java题目 关于对象 synchronized 关键字作用在  int,  integer搜狗一道java题目 关于对象 synchronized 关键字作用在  int,  integer
第一次见到这个题目,我觉得自己没学到java,太浅了,其实这个问题没有考synchronized关键字,只是考什么是对象?
1.在java编程思想的第二章有一句话;
一切都是对象,很可惜int,char 等不是的,虽然他们有他们的包装类,但是java还是保留了int 这些好用的原子类型,
对于synchronized后面可以跟对象和.class所以 字符串是对象可以,Integer对象可以,ExampleCLass.class可以。
我想问的是,数组是对象吗?
查了一下,是对象,所以数组也是答案。http://blog.csdn.net/qq1130141391/article/details/8677459我们看懂,口说无凭。
答案就是除了int不行其他都行
package heelo;

class MyThread  implements Runnable
{
//private int a=6; 通不过编译
// private String a="daad"; 成功
// private Integer a=new Integer(-33); 通过
//private int a[]=new int[10]; 通过
//private Class a=Integer.class; 通过 @Override
public void run() {
// TODO 自动生成的方法存根
synchronized (a) {
for(int i=0;i<5;i++)
{
System.out.println(Thread.currentThread().getName()+i);
} } } } public class Solution
{
public static void main(String args[])
{
MyThread my=new MyThread(); Thread t1=new Thread(my,"AAAA");
Thread t2=new Thread(my,"BBBB");
t1.start();
t2.start();
} }