黑马程序员技术交流社区

标题: 类型的疑惑? [打印本页]

作者: 杜超    时间: 2013-3-8 09:32
标题: 类型的疑惑?
本帖最后由 杜超 于 2013-3-8 12:51 编辑

Student<String> stu = new Student<String>("lisi");
int x = 5;
   问题:
        1,Student是数据类型吗,还是应该属于自定义的学生类型呢?
        2,stu是引用数据类型,还是叫引用变量呢?引用类型,引用数据类型,引用变量
            一样吗?怎么区分?
        3,Student和stu具体应该是什么关系呢?
        4,x变量名和stu有区别吗?
        5,String属于引用数据类型?可以称呼字符串类型吗?

  补充:类和类型有关系吗?有什么区别吗?

               
作者: 贾文泽    时间: 2013-3-8 09:49
本帖最后由 贾文泽 于 2013-3-8 09:58 编辑

1,Student是数据类型吗,还是应该属于自定义的学生类型呢?
             Student是自定义的学生类,它可以定义Student类型的变量
2,stu是引用数据类型,还是叫引用变量呢?引用类型,引用数据类型,引用变量一样吗?怎么区分?
             stu只是一个变量,这个变量的类型是引用类型
3,Student和stu具体应该是什么关系呢?
             stu指向一个Student类的实例对象
4,x变量名和stu有区别吗?
             数据类型不一样
5,String属于引用数据类型?可以称呼字符串类型吗?
             String是包装类,
  
作者: scott0610    时间: 2013-3-8 11:56
1,Student是数据类型吗,还是应该属于自定义的学生类型呢?
解答:Student属于自定义学生类型,可以通过Student创建对象。
2,stu是引用数据类型,还是叫引用变量呢?引用类型,引用数据类型,引用变量一样吗?怎么区分?
解答:stu属于引用变量。引用类型和引用数据类型基本是相同的,而引用变量只是对象的一个引用,java中不运行直接操作对象,是能通过引用变量进行操作对象。
3,Student和stu具体应该是什么关系呢?
解答:Student是一个用于创建对象的类,stu是一个引用变量,在stu存放在栈内存中,Student存放在堆内存中,stu存放指向Student对象的地址。
4,x变量名和stu有区别吗?
解答:有区别。虽然他们都是存放在栈内存中 ,但x变量名存放的是变量的值,而stu存放的是指向Student对象的地址。
5,String属于引用数据类型?可以称呼字符串类型吗?
解答:String属于引用数据类型。可以称呼为字符串类型。String对象主要存放在堆内存中。
补充:类和类型有关系吗?有什么区别吗?
解答:类是某一批兑现的的抽象,可以把类理解成某种概念。他是程序的基本单位。类是类型的基础,必须先有了类才能有对应的类型。

作者: 杜超    时间: 2013-3-8 12:03
贾文泽 发表于 2013-3-8 09:49
1,Student是数据类型吗,还是应该属于自定义的学生类型呢?
             Student是自定义的学生类,它可 ...

String怎么会是包装类呢?包装类不是基本数据类型对象包装类吗?包装类主要是用于基本数据类型和字符串类型之间的转换吗?
作者: 贾文泽    时间: 2013-3-8 12:08
杜超 发表于 2013-3-8 12:03
String怎么会是包装类呢?包装类不是基本数据类型对象包装类吗?包装类主要是用于基本数据类型和字符串类 ...

9个包装类,8种基本数据类型+String
作者: 杜超    时间: 2013-3-8 12:16
袁见 发表于 2013-3-8 11:56
1,Student是数据类型吗,还是应该属于自定义的学生类型呢?
解答:Student属于自定义学生类型,可以通过Stud ...

4,变量名x和stu都起着引用的作用,都指向堆内存中的对象的地址,他们都是通过地址指向堆内存对象的,

作者: 杜超    时间: 2013-3-8 12:20
袁见 发表于 2013-3-8 11:56
1,Student是数据类型吗,还是应该属于自定义的学生类型呢?
解答:Student属于自定义学生类型,可以通过Stud ...

4,变量名x和stu都起着引用的作用,都指向堆内存中的对象的地址,他们都是通过地址指向堆内存对象的,
   变量x应该只有地址值(0x0012),不是变量的值,变量的值应该是具体某一个值(x=5)吧,不知你所指的”变量的值“是地址值还是具体对象的值呢
作者: scott0610    时间: 2013-3-8 12:29
杜超 发表于 2013-3-8 12:20
4,变量名x和stu都起着引用的作用,都指向堆内存中的对象的地址,他们都是通过地址指向堆内存对象的,
   ...

这里不是地址值。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2