《JAVA编程思想》学习备忘(第61页:Everything Is an Object--2)

  (接Everything Is an Object--1)
You never need to destroy an object
    本小节介绍Java中的垃圾清理工作。
Scoping
    范围(作用域),在Java中用一对花括号来表示:{}
举例:
| {
     int x = 12; 
     //x 的作用范围
     {
        int q = 36;
        //x 和 q 的作用范围
     }
     //x的作用范围
     //q已出了作用范围
  }

    以上示例,清楚地说明了变量声明的位置不同,造成作用域的不同。注意内嵌的一对花括号之间仍是其外部声明的变量x的作用域。

    任何位于“//”之后的文本行属于注释,而跨行注释使用斜杠加星号与星号加斜杠这样一对标记中间夹注释文本。

 

Scope of objects

Java has a garbage collector,which looks at all the objects that were created with "new" and figures out which ones are not being referenced anymore.Then it releases the memory for those objects,so the memory can be used for new objects.

    上文说到了垃圾回收器的工作方式,由此不必担心忘记了释放内存。

 

Creating new data types: class

    创建新的数据类型(笔记1曾提到):class(类)

    Java用关键字“class”来创建对象的数据类型,它与上文提到的数组均属于引用数据类型。举例如下:

| class ATypeName {//类的主体}

创建上例数据类型的一个对象(实例化):

| ATypeName a = new ATypeName();

 

Fields and methods

定义一个类后,可在类中放置fields和methods。fields可为任何数据类型的对象,对象的形参要使用关键字“new”来初始化。methods即方法(可看作类的行为属性)。

举例:

| class DataOnly{

    int i;

    double d;

    boolean b;

  }

(上例无方法,仅含数据变量),创建此类的对象:

| DataOnly data = new DataOnly();

给对象的数据变量付值:objectReference.member:

| data.i = 47;

| data.d = 1.1;

| data.b = false;

当然,你也有可能想给对象中包含的对象的数据变量付值:

| myPlane.leftTank.capacity = 100;

 

Default values for primitive members

    类中的原始数据类型如没有初始化,将会有一个默认的值:

 Primitivetype Default
 booleanfalse 
 char'/u0000'(null) 
 byte(byte)0
 short(short)0 
 int
 long0L 
 float0.0f 
 double0.0d 

 

   此仅确保类中的数据成员变量原始数据类型总会被初始化。无论如何,这种初始值对于你的程序而言可能不适合甚至非法。最好还是清楚地初始化你的变量。

This doesn't apply to local variables-those that are not fields of a class.Thus,if within a method definition you hava:

| int x;

Then x will get some arbitrary value...

    对于非类的变量则会指向任意一个值,在编译时出错。

 

(待续)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值