类,对象

类,对象

1.存储的地方

寄存器

速度最快的存储区,位于处理器内部,java不能直接控制,c/c++可以向编译器建议寄存器的分配方式

位于RAM(随机访问存储器),这是一种快速有效的分配存储的方式,仅次于寄存器,分配释放通过指针,所以在创建程序时,系统必须明确知道其生命周期,这一约束限制了程序的灵活性,所以java对象不存在这,但java对象的引用放在这。

一种通用内存池,也位于RAM区,用于存放所有的java对象,堆中,编译器不需要知道存储的数据在堆里存活多长时间。所以在堆中可以灵活的进行存储分配。但是用堆进行存储分配和清理需要更多的时间。

常量

通常直接放在代码里,放在ROM(只读存储器)

非RAM存储

对象存储在磁盘上,持久化对象

2.基本的数据类型

copy from Thinking in java

boolean所占存储空间没有明确指定

高精度数据类型,BigInteger BigDecimal

3.对象的作用域

在c/c++中,对象的作用域是{}大括号以内。比如可以

{
    int a = 0;
    {
        int a = 1;
    }
}

但在java中就不行了,java的设计者认为这样会造成混乱。

java对象不具备和基本类型一样的生命周期。当new了个java对象时,它可以存活于作用域之外,比如

{
    String s = new String("12");
}//作用域之外

引用s在作用域外消失,然而s指向的String对象仍然继续占据着内存空间。我们无法在作用域之外访问这个对象,因为对它唯一的引用已超出了作用域的范围。java的垃圾回收器会监视new创建的所有对象,并辨别那些不会再被引用的对象。然后释放这些对象。

4.类成员初始化

基本成员的默认值,如果某个成员是基本类型,即使没有对其初始化,java也会确保它有默认值。注意:必须是类中的成员,如果不是类中的成员变量,而是普通的局部变量,则不会对其初始化

5.static关键字

作用:

1.只想为某特定域分配单一存储空间,而不去考虑究竟要创建多少对象,甚至根本就不创建任何对象。

2.希望某个方法不与包含它的类的任何对象关联在一起。也就是说,即使没有创建对象,也能够调用这个方法。

class A{
    static int i = 5;
}
A a1 = new a1();
A a2 = new a2();

在这里,a1.i和a2.i指向同一存储空间。

6.javadoc的使用

在eclipse中右键点击项目->Export->java->javadoc…

  1. 在注释中可以嵌入HTML语法
  2. 会输出类前及方法前的位于/* /中或//中的语句
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值