1.int x  x算是对象么?为什么?
2.为什么方法中的变量的赋值,static方法不能声明static变量;为什么?
3.String也是一个类为什么在传递String参数给方法的时候不改变实参的值;
4.用static { type 名=值} 和static tpye 名 = 值 有什么不同为什么;每题10分,如果没有全答出的,每题给最先给出满意答案的大虾;
如果有全部答出的,分数给第一个全部答出满意答案的大虾;

解决方案 »

  1.   

    1. 不是,是基本类型,不是对象类型
    2. 这个,可以的把 
    3. 不可变 模式 immatable
    4. 没什么不一样,我觉得 一个 是static块赋值,一个是全局变量赋值,
      

  2.   

    2.为什么方法中的变量的赋值,static方法不能声明static变量;为什么?类的生命周期包括:载入,连接(验证,准备,解析),初始化。在准备阶段就要为类的static变量分配内存,进行默认初始化。而只有当方法开始调用的时候,才会把方法压栈,给方法内的变量分配内存空间。不知道对不对?
      

  3.   

    x是基本数据类型
    静态方法的定义就是定义它在内存中存放的位置是全局变量区,所以它里面的变量等都在常量区了,无需在定义了。
    String是一个不可修改它的值的类,跟其他的类不同,如果你想改变的话可用stringbuffer定义。
    static{代码块}  跟static 类型名=值  基本上没什么区别,就是前面那种方法比较方便定义多个!
      

  4.   

    1.x不是对象,是基本类型数据
    2.不可以,方法中定义的变量是局部变量,只能用final修饰。static修饰的是类变量,应该是全局的
    3.传递String参数给方法,方法中改变的值是方法中局部变量指向的值发生了变化,外面String对象指向的值并没有发生变化。
    4.不一样static { type 名=值}声明的局部变量,只在static块中有效,static tpye 名 = 值声明的是类变量
      

  5.   

    static { type 名=值} 和static tpye 名 = 值 有什么不同为什么; static{}里面              定义的变量的作用范围是{}
    而static tpye 名 = 值    定义的变量的作用范围是整个类。
    作用范围不一样。
      

  6.   

    1. 不是,是基本类型,不是对象类型 
    2. 这个,可以的把 
    3. 不可变 模式 immatable 
    4. 没什么不一样,我觉得 一个 是static块赋值,一个是全局变量赋值
      

  7.   

    1不是对象 是java中的八个基本值类型中的一个 Integer才是实例后 才是对象
    3在传递参数的时候 生成一一个参数的拷贝,不是原来参数的值
    4用static { type 名=值}在类加载的时候就赋值了 比static tpye 名 = 值早,
      

  8.   

    1.从广义的面向对象思想来理解,int型也是一个对象,所以才会有Integer,而java中会有int等基本类型,应该是它们方便使用
    3.String代表的是一个字符串,原生机制就是不允许改变它的值,你把它作为参数,传进去改变值就会显式或者隐式的调用new String();形参也就改变了原来的索引,形参不再指向原来的实参(也就是形参和实参不再指向同一块内存空间)
      

  9.   

    1,首先什么是对象你要搞清楚,对象是一类事物的一个具体的描述,也就是对于类而言,你所申明的是基本数据类型
    2,不清楚
    3:因为string是一个字符串常量,一经申明就不能再改变,并且你说的传递,其实是一个复制的过程,再内存在中占用的是两个不同的地方···
    4:不清楚
      

  10.   

    1.int x  x算是对象么?为什么? 
       x不是对象,只能说是一个变量,若是对象,则应该具有java.lang.Object中所有方法,而x显然没有.2.为什么方法中的变量的赋值,static方法不能声明static变量;为什么? 
       无论是static方法还是不是static方法,都不能声明static变量.因为在<java虚拟机规范>中规定"如果一个域被声明为static,则无论最终创建了多少个事例,都确切地存在该域的一个实例".而方法中的参数,所传入的值是可变的.3.String也是一个类为什么在传递String参数给方法的时候不改变实参的值;
       String比较特殊,即可放在堆中,也可放在栈中.而string作为一个参数时,是放在栈中的,是不能变的.
     
    4.用static { type 名=值} 和static tpye 名 = 值 有什么不同为什么; 
       static { type 名=值} 中的"名"是局部变量,可以存在多份,同时不能通过类直接访问
       static tpye 名 = 值中的"名"是全部变量,只存在一份,同时可以通过类直接访问