2.引用传递
3.用==.==指对象值和hash code都相同,二equals指只有对象值相同.
6.对.

解决方案 »

  1.   

    2:Java中有且仅有的一种参数传递机制--值传递说:引用传递,说明不了解值传递和引用传递的区别
      

  2.   

    1,试一下就知道了,开发工具不提示出错就是可以。
    2,引用
    3,equals()
    4,可以
    5,可以
    6,正确
      

  3.   

    1.都不可以
    2.我认为还是传的对像的引用,如果对像可变,像StringBuffer.
    3.用的是equals(),这是API的回答
    4.构造器Constructor是不能被override,但能被overload
    5.应该不可以
    6.对.
      

  4.   

    关于参数传递:     其实JAVA里对参数的传递在国际上都是一直有争论的。包括《Think in java》里都提到了,Bruce Eckel 也没给出定论。我觉得这很大程度上是由于规范不严格造成的。因为大家都知道参数传递的本质是什么,但描述方式不一样,以致造成答案不一致。     现给一些参考:     第一,JAVA 里的参数传递只有值传递,没有所谓的引用传递。(说白了,是因为大家的说法
               不统一)
         第二,引用一个强人的观点 jamesfancy()边城狂人(James Fancy) :
     
    “1. 首先明白参数的传递实质是压栈和出栈的过程。即在调用一个方法(或说子程序)之前,先将需要传入的参数压栈,然后执行代码的指针跳转到方法的起始位置,进行出栈操作,原来压入栈中的参数取出置入方法中的局部变量(这里即参数变量)。2. 对于基本类型,传递的参数都是对原变量值的拷贝。每一个基本类型的数据都是以字节形式保存在内存中的(如整型是4个字节,长整型是8个字节等),压栈时会将内存中的变量值按字节存入栈中,而原变量的值(即保存在原位置的内容)并不改变——内存中的数据是保存在堆中的,参数是保存在栈中的,总不可能把内存块搬过来是吧……所以一定是拷贝的!3. 先搞明白引用的实质。当一个对象创建后,它的内容(N个字节)被保存在内存中。它的位置,即一个地址址,被返回,保存在一个引用变量中——所以实际上一个引用变量保存的只是某个类的地址,而引用的类型,并不会改变引用变量的大小,它只是说明一个对象的数据大小。这样,就可以从引用变量找到对象的起始地址,再通过类型,获取对象数据。而通过引用调用的方法,属性这些东西,就是通过在这块内存地址中的位置偏移来寻址的。(当然,实际的操作会比我说的复杂得多,因为还涉及向上向下传型等问题)4. 引用参数的传递,实际上就是传递的引用变量的值,这和传递基本类型的值原理是一样的。但由于引用变量其值的特殊性(只是一个地址,这个地址上保存的才是对象的实际数据),所以,引用变量的值传入参数变量后,通过参数变量对对象的修改(在实际地址上的操作)自然就会影响到同一个对象。——这里,外面的引用变量和参数变量,本身是不同的,但是它们的值相同,都是对象的地址。”
      

  5.   

    pliner(pliner) 
    5,可以的.可以访问非该对象的synchronized 方法
      

  6.   

    5,应该不可以,synchronized用在方法上就是把这个对象锁死了,在它退出之前别的线程是无法访问这个对象的,就更不用提它的方法了,
    如果是这样写
    class A {
      String a = "a";
      public void test1(){
        synchronized(a){
        ...
        }
      }
      public void test2(){  }
    }
    一个线程访问test1的时候另一个线程是可以访问test2的
      

  7.   

    1.不行
    2。引用。怎么说呢。java鄙弃这种说法。。
    3。equals
    4.可以
    5可以
    6可以
      

  8.   

    哎, 这些题目都不会,我觉得你还是不要去做java,再看看书再说吧!
      

  9.   

    大家看书要看仔细了,千万不能浮躁
    对于第5题应该这样回答
    其它线程可以进入该对象的unsynchronized方法
    而不能进入该对象的其他synchronized方法
    切记类似第1题,大家可以把所有的修饰符都组合一下
    看看哪些可以哪些不可以第2题同coolcoolpig(臭美猪) ,所谓传值,传引用
    在大家的理解方面只不过是语义不同罢了
    只要理解了究竟是怎么传递参数的
    不要从词汇上区分什么传值,传引用第4题构造器Constructor是不能被override,但能被overload
      

  10.   

    第2题,我个人觉得说传地址会更准确,
     obj.setProperties();//这样当然会影响原来对象的值
     obj = getNewObj(); //这样你改变的是传递进来的这个“指针”而已,即obj已经指向一个新的地址中,原来的对象还是在原来的地址中没有变化,当然不会产生内容的改变
      

  11.   

    to coolcoolpig(臭美猪) 
    如果我的答案与标准答案不同,是你的标准答案错了。我的回答可能有错的,但如果说全错不可能。
      

  12.   

    构造器Constructor不能被继承,因此不能重写Overriding,但可以被重载Overloading。
      

  13.   

    首先想请问楼上的一部分人,你们回答之前都胸有成竹吗?如果没有都自己做过测试吗?如果没有为什么就赶回答呢?你不知道没关系,你不知道装知道也没关系,但不能不知道装知道还告诉别人你知道就是你的不对了,要是别人知道也就一笑了之,要是别人不知道岂不就让你搞得也是不知道装知道了。我一直认构造器Constructor能被继承,但看了大家的发言真被吓了一跳,心想我这4年算白学了,但在一想不对,不能说的人多了就当真吧。于是作了一个小测试。这一作又被吓了一跳,发现这个世上怎么有这么多不知道装知道的人,害己就不说了还去害别人,真是可悲又可怜!下面是我的测试代码,欢迎批评:
    package mytest;public class OverrideContractor { private String name; public String getName() {
    return this.name;
    } public OverrideContractor() {
    System.out.println("OverrideContractor()");
    }

    public OverrideContractor(String name) {
    this.name = name;
    System.out.println("OverrideContractor(String name)");
    }

    public static void main(String[] args) {
    }}package mytest;public class OverrideContractor2 extends OverrideContractor { private String name; public String getName() {
    return this.name;
    } public OverrideContractor2() {
    System.out.println("OverrideContractor2()");
    } public OverrideContractor2(String name) {
    this.name = name;
    System.out.println("OverrideContractor2(String name)");
    } public static void main(String[] args) {
    OverrideContractor oc = new OverrideContractor2("name");
    }}
      

  14.   

    第1题 没试过 不过感觉应该可以同时出现 静态 本地 同步 应该不会是互斥的
    第2题 引用传递 因为除基本类型外 所有的参数传递是引用传递 传递的是该对象的起始指针
    第3题 equals() ==比较的是两个对象是否相等 equals比教的是不是指向同一地址
    第4题 不可
    第5题 访问同步方法具体看他的同步旗标志 是同一旗标志的不则不能进入 不同的则可
          但类中的同步方法一般以this为标志位 所以
    第6题 错 a.equals(a1)==true则他们的hashcode一定相等
      

  15.   

    to:qljsd(我本善良) 
    orverride是覆写,overload是继承,构造函数只能被继承,不能被覆写;只测试下是否可继承和覆写用写这么多吗?
    class Y 
    {
      public Y(){
      }
    }public class X extends Y{  public String Y(){
    return "overload is ok";
    }
      public Y(){
      }
    }
    看下哪行报错就知道了
      

  16.   

    Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们
        有何区别? 
    ------------------------------------------------------------------------
    equals()
    == 比较对象的内存地址
    equals则可以定制两个对象值相同(x.equals(y) == true),但却可有不同的hash code
    ------------------------------------------------------------------------
    这句话对。构造器Constructor是否可被override?
    ------------------------------------------------------------------------
    构造器只能被overload,而不是override当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,
    那么这里到底是值传递还是引用传递? 
    ------------------------------------------------------------------------
    应该是引用传递