对象
2015-11-24 00:30
274 查看
一切都是对象
尽管java是基于C++的,但是java是一种更加纯粹的面向对象的程序设计语言。(都是混合/杂合型语言)2.1用引用操作对象
每种变成语言都有自己的曹总内存中元素的形式。有时候,程序员必须注意将要处理的数据是什么类型所有这一切在java这里都得到了简化。一切都被视作对象,因此可采用简餐固定的语法
String s;
这里的创建只是引用,并不是对象。如果此时向s发送一个消息就会返回一个运行时错误
String s = "asdf";
字符串可以用带引号的文本初始化
2.2必须由你创建对象
一旦创建了一个引用,就希望它能与一个新的对象关联。通常用new操作符来实现。new的意思是“给我一个新对象”String s = new String("asdf");
2.2.1存储到什么地方
程序运行时,对象是怎么进行放置安排的被?特别是内存是怎样分配的呢?
1)寄存器
这是最快的存储区,因为它位于不同于其他存储区的地方--处理器内部,寄存器的数量极其有限,所以寄存器根据需求进行分配。你不能直接控制,也不能在程序中感觉到寄存器的任何迹象2)堆栈
位于通用RAM(随机访问存储器)中,但是通过堆栈指针可以从处理器哪里获取直接支持。堆栈指针若向下移动,则分配新的内存,向上移动则释放已经分配的内存。这是一种快速有效的分配内存的方法,仅次于寄存器。创建程序的时候java必须知道堆栈内所有项的确切生命周期,以便于上下移动指针。这一约定限制了程序的灵活性。所以某些java数据存储于堆栈中--特别是对象引用,但是java对象并不存储在其中3)堆
一种通用内存池,用于存放所有的java对象。堆位于不同于堆栈的好处是:编译器不需要知道存储的数据在堆里存放了多长时间。更具有灵活性当需要一个对象的时候我们只需要用new写一行简单的代码就OK了。这种灵活是有代价的:分配和清理需要比堆栈花费更多的时间
4)常量存储
常量值通常直接存放在程序代码内部,这样做是安全的,因为他们永远不会被改变。有时候,在嵌入式系统中,常量本身会于其他部分分割离开,所以这种情况下,可以选择将其存放在ROM中5)非RAM存储
如果数据完全存活在程序之外,那么他可以不受程序控制,程序没有运行也可以存在。(流对象和持久化对象)流对象中,对象转化成字节流,通常被发送给另一台机器。在持久化对象中,对象被存放在磁盘上,因此即使程序终止,也可保存自己的状态。这种存放方式的技巧在于:对象转换成在其他媒介上的失误,在需要时可以恢复成常规的2.2.2特例:基本类型
boolen 对应bool基本类型都有自己的包装器类型。。以后再看
2.2.3永远不需要销毁的对象
java不允许作用于隐藏2.4 创建新的类型:类
2.4.1 字段和方法
成员变量在java中叫做字段成员函数在java中叫做方法
class DataOnly
{
int i;
double d;
boolean b;
}
DataOnly = new DataOnly();
除了局部变量java变量在没有赋初值的情况下 都会有默认值
2.5方法、参数、返回值
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树
- [原创]java局域网聊天系统