您的位置:首页 > 编程语言 > Java开发

Java学习——2——对象操作

2015-10-28 21:54 369 查看
一、用引用操作对象

String s;
这里只是创建reference,并不是对象
s并没有与任何事物相关联,向s发送消息会返回运行时错误

引用同时应该初始化
String s = "asdf";
注意:这里字符串可以用带引号的文本初始化。并不是通用的初始化方式


二、创建对象

new关键字

正确的通用初始化方法
String s = new String("asdf");


1)对象存储位置

1.寄存器(最快的存储区,不能直接控制)

2.堆栈(位于RAM中,向下移动指针分配新内存,向上释放内存,Java系统必须知道存于其中所有项的生命周期,JAVA中某些数据存于其中,但Java对象不存于其中)

3.堆(通用内存池,位于RAM中,存放所有JAVA对象,在堆中编译器不需要知道存储的数据在堆中的存活时间,故堆中分配存储空间有很大灵活性)

4.常量存储(常量通常直接放在程序代码内部)

5.非RAM存储(如果数据完全存活于程序之外,它可以不受程序的任何控制,在程序没有运行时也可以存在。如:/流对象/,/持久化对象/,

2)特例:基本类型

JAVA把基本类型变量存储于堆栈中(高效),JAVA确定每种基本类型存储空间大小,不随机器硬件架构变化而变化(更可移植)。

char 16-bit (Unicode0—— Unicode2^16-1)

byte 8 bits ( -128——127)

short 16 bits (-2^15——2^15 - 1)

int 32 bits (-2^31——2^31 - 1)

long 64 bits (-2^63——2^63 - 1)

float 32 bits (IEEE754)

double 64bits (IEEE754)

重点:1.所有数值类型都有正负号,没有无符号数值类型

2.基本类型有包装器类,可以在堆中创建非基本对象,用来表示非基本类型。

//包装器类

char c = ‘x’;

Character ch = new Character(c);

OR

Character ch = new Character(‘x’);

//SE5中可自动的把基本类型转换为包装类型,并可以反向转换

Character ch = ‘x’;

char c = ch;

3.高精度数字

Java提供了两个用于高精度运算的类,BigIntegerBigDecimal(两者没有对应的基本类型,以方法调用, 操作同intfloat

3) JAVA数组

JAVA数组

1.会被初始化(创建一个数组对象==创建一个引用数组,每个引用自动初始化为为特定的关键字NULL,基本数据类型数组初始化:所占内存全部置0;)

2.不能在它的范围外被访问

三、永远不需要销毁对象

1)作用域

花括号决定作用域

注:以下代码不适用于JAVA,但是可用于C/C++

{
int x = 12;
{
int x = 96;//illegal in java
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java