一切都是对象

创建对象

对象存储的位置

  1. 寄存器:最快的存储区,位于处理器内部,但是数量大小有限,寄存器根据需求分配,你无法直接控制.
  2. 栈:位于通用RAM,通过堆栈指针可以从处理器那里获得直接支持,下移分配,上移释放.java的对象引用的存放位置
  3. 堆:一种通用的内存池(位于RAM区),用于存放所有的java对象,堆的分配处理比堆栈存储需要更多的时间.
  4. 常量存储:通常直接放在程序代码内部,安全的,不会被改变.
  5. 非RAM存储:数据完全存活于程序之外,程序没有运行也存在,比如流对象和持久化对象.这种方式技巧在于:把对象转化成可以存放在其他媒介上的事物,在需要时候恢复成常规的,基于RAM的对象.

特例:基本类型

对于简单的,小的变量,使用new创建在堆里,不是很有效,所以对于那些类型,java创建一个并非是引用的”自动”变量,直接存储值在堆栈中,更加高效.
java要确定每种基本类型所占存储空间的大小,它们的大小并不像其他大多数语言那样随机器硬件架构变化而变化,这种不变性是java比其他大多数语言编写的程序更具移植性的原因之一.

类型图片

所有的类型都有正负号.

使用任何引用前,都必须为其指定一个对象.

作用域

以下代码在c和c++中是合法的,但是在java中却不能这样写:

{
  int x = 12;
  {
    int x = 96;
  }
}

编译器会报告x已经定义过,在c或c++中会将作用域大的”隐藏”,在java中不允许.

java中new出来的对象,只要你需要使用,就会一直保留下去,由垃圾回收器来辨别不使用的对象.

类基本成员默认值

类的某个成员是基本数据类型,及时没有初始化,java会自动初始化.

基本类型默认值
booleanfalse
char‘\u0000’(null)
byte(byte)0
short(short)0
int0
long0L
float0.0f
double0.0d

但是上面的不适用于”局部”变量,如某个方法中有 int x; 那么x可能是任意值(同c和c++),但是编译时候会报错…

方法参数列表

尽管传递的是对象,然而实际上传递的是对象的引用,八大基础类型是个例外.

名字可见性

由于相同命名的冲突,java通过使用包来避免,自己的名字空间.

java支持向前引用,不过会引发小错误.

static关键字

在static的方法中只能访问静态方法和静态变量.
静态方法是属于类的,而普通方法是属于对象的

 第一个java程序

java.lang这个包默认自动导入.其他的需要自己导入.

 帮助文档

javadoc test.java

这句命令可以为test.java生成帮助文档,不过只会为public和protected进行文档注释,private和包内可访问成员会被忽略.

 编码风格

采用驼峰标识,组成类名的单词第一个字母全大写,方法和字段(成员变量)第一个小写,其他第一个大写.比如

class AllTheColorsOfTheRainbow{
  int anIntegerColor;
  void changeColor(int color){
    //something to do
  }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值