Java学习——2——对象操作
来源:互联网 发布:学做淘宝到哪里去学 编辑:程序博客网 时间:2024/06/15 23:50
一、用引用操作对象
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提供了两个用于高精度运算的类,BigInteger和BigDecimal(两者没有对应的基本类型,以方法调用, 操作同int和float)
3) JAVA数组
JAVA数组
1.会被初始化(创建一个数组对象==创建一个引用数组,每个引用自动初始化为为特定的关键字NULL,基本数据类型数组初始化:所占内存全部置0;)
2.不能在它的范围外被访问
三、永远不需要销毁对象
1)作用域
花括号决定作用域
注:以下代码不适用于JAVA,但是可用于C/C++
{ int x = 12; { int x = 96;//illegal in java } }
- Java学习——2——对象操作
- java学习笔记《java面向对象编程》——操作符
- JAVA学习笔记—对象
- java——开发DOM对象操作
- 《Java面向对象编程》学习笔记4——操作符简介
- java基础—java的Io操作学习(2)
- Java学习笔记——对象导论
- Java学习笔记——一切都是对象
- Java学习笔记——持有对象
- java学习——类和对象
- java学习——面向对象篇
- Java学习——类与对象
- Java学习——面向对象基础
- java基础学习—面向对象
- Java基础学习—类与对象
- Java学习—IO—操作规律
- java学习——File类操作
- Java学习笔记——操作符
- hdu 4638 Group(树状数组)
- MySQL数据库INNODB 表损坏修复处理过程 无法repair的变通方法
- 一个标签多个css属性
- 欢迎使用CSDN-markdown编辑器
- 算数-基本四则运算
- Java学习——2——对象操作
- django下video播放时间不能超过5s并且视频有时无法显示问题的解决方法
- cocoaPods
- HDU 3065 病毒侵袭持续中(AC自动机)
- 数据类型转换
- 原型
- 关于Android Studio 中快捷键 相当于 Eclipse中 Alt+/ 怎么设置
- innodb数据库 OPTIMIZE TABLE 提示Table does not support optimize, doing recreate + analyze instead 分类: My
- hdu 4639 Hehe(斐波那契)