Chinaunix首页 | 论坛 | 博客
  • 博客访问: 674304
  • 博文数量: 779
  • 博客积分: 5000
  • 博客等级: 大校
  • 技术积分: 5000
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-27 13:28
文章分类

全部博文(779)

文章存档

2011年(1)

2008年(778)

我的朋友

分类:

2008-10-27 13:28:42

 数据类型

java的数据类型有两类:

l          PrimitiveType(简单类型)

l          ReferenceType(引用类型)

 

1.1 PrimitiveType(简单类型)

(参考:langspec-3.0/typesValues.html#4.2

 

PrimitiveType的分类如下所示:

 

l          PrimitiveType:

        NumericType

        boolean

 

l          NumericType:

        IntegralType

        FloatingPointType

 

l          IntegralType: one of

        byte short int long char

 

l          FloatingPointType: one of

        float double

 

PrimitiveTypejava预定义的类型,并且使用保留字命名。比如intlongfloat等。由此看来其包装类不算PrimitiveType

1.2 ReferenceType(引用类型)

(参考:langspec-3.0/typesValues.html#4.3

ReferenceType有三种类型:类、接口、和数组。

 

2. 变量

(参考:langspec-3.0/typesValues.html#4.12

A variable is a storage location and has an associated type, sometimes called its compile-time type, that is either a primitive type (§4.2) or a reference type (§4.3).

变量是关联于特定类型的单元,所关联的类型有时叫做变量的编译时类型,即,既可以是简单类型也可以是引用类型。

2.1 简单类型变量

A variable of a primitive type always holds a value of that exact primitive type.

简单类型的变量总是执持简单类型的值。

2.2 引用类型变量

A variable of a class type T can hold a null reference or a reference to an instance of class T or of any class that is a subclass of T. A variable of an interface type can hold a null reference or a reference to any instance of any class that implements the interface.

 

类型是T的类的变量可以执持null引用,或者类T及其子类的实例引用。接口类型的变量可以执持null引用,或者任何实现该接口的类的实例引用。

 

注:与langspec2.0不同的是,3.0引入了泛型的概念,其中有Type Variable的概念,上面的T就是一个Type Variable

3.赋值与传递

如上所述,可以得出下面结论:

1)      对于简单类型变量的赋值是按值传递。就是说直接把数值存放到变量的单元里。

2)      对于引用类型的变量,赋值是把原对象的引用(可以理解为入口地址),存放在变量的存储单元里。

3.1 对象的赋值

简单类型的赋值很容易理解,这里仅讨论对象的赋值。所有引用类型的实例就是我们常说的对象。

可以这样说,除了null以外,任何变量的初始赋值都是分两步:

1)      创建对象实例

2)      把对象实例的引用赋值给变量。

 

比如:

       Object o1 = new Object();

 

[1]  

【责编:Peng】

--------------------next---------------------

阅读(243) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~