面试题:java的变量分哪两种大的数据类型
对象一般是通过new语句创建出来的,他保存在堆空间中,可以被多个引用类型所引用。当应用a修改了对象的数据后,其他的引用也是可以看到这些改变的,一个很典型的例子就是方法参数的传递。代码如下:
pavkage fengshu.uncle;
class Student{
public String name;
public int age;
public Student(String name,int age){
this.name=name;
this.age=age;
}
}
public class RefTest{
private static void refchg(Student stu){
stu.name="fengshu";
stu.age=22;
}
public static void main(String[] args){
stutent stu1=new Student("zhangsan",23);
Student stu2=stu1;
refchg(stu2);
System.out.println(stu1.name+","+stu1.age;
}
}
以上代码中,stu1和stu2引用了同一个学生对象,stu2数据的修改就直接影响到了stu1的数据了,因为他们根本就指向同一块内存空间,执行结果如下:
fengshu,23
答案:基本数据类型和引用类型。它们最大的区别在于,引用数据类型存放的是数据所在的地址,而基本数据类型则是直接存放数据的值。