码迷,mamicode.com
首页 > 编程语言 > 详细

Java2实用教程(第5版)重要点及遗漏点(二)

时间:2017-11-01 20:32:07      阅读:328      评论:0      收藏:0      [点我收藏+]

标签:3.2   ber   成员变量   应用程序   多个   als   具体类   存储空间   return   

3.2 语句概述

一个分好也是一条语句,称作空语句。

 

3.3.1 if语句

If(表达式)

If后面的一堆小括号()内的表达式的值必须是boolean类型

 

3.3.2 if-else语句

If-else(表达式)

If后面的一堆小括号()内的表达式的值必须是boolean类型

 

3.4 switch开关语句

Switch(表达式)

{

         case 常量值1:

                          语句;

                          break;

         case 常量值2:

                          语句;

                          break;  

……

default:

                  语句;

}

表达式、常量值 的值可以是 byte、short、int、char类型

 

3.7 for语句与数组

格式:for(声明循环变量:数组的名字){

                  ……

}

// 循环变量依次取数组的每一个元素的值

 

 

 

4.2.1 类声明

1、类名的首字母使用大写字母

2、多个单词复合而成的类名,每个单词的首字母都应大写

 

4.2.3

变量名首字母使用小写,如果变量名字由多个单词组成,从第2个单词开始的其他单词的首字母使用大写

 

4.2.4 方法

成员变量、局部变量

1、在方法体中声明的变量和方法的参数被称作局部变量。

2、和类的成员变量不同的是,局部变量只在方法内有效,而且与其声明的位置有关。

3、如果方法中的局部变量的名字与成员变量的名字相同,那么方法就隐藏了成员变量,如果想在该方法中使用被隐藏的成员变量,必须使用关键字this

4、成员变量有默认值,而局部变量没有默认值,所以必须初始化。

5、对成员变量的操作只能放在方法中进行

 

4.2.6 类的UML图

UML图属于结构图

第1层是名字层,如果类的名字是常规字形,表示该类是具体类

                                            如果类的名字是斜体字形,表示该类是抽象类

第2层是变量层,也称属性层,列出类的成员变量及类型,格式“变量名字:类型

第3层是方法层,  也称操作层,列出类中的方法,格式“方法名字(参数列表):类型

 

4.3.2 创建对象

创建一个对象包括对象的声明为对象分配变量两个步骤

1、 对象的声明

类的名字 对象名字;

2、 为对象分配变量

使用new运算符类的构造方法为声明的对象分配变量,即创建对象。

 

对象的内存模型

1、 声明对象时的内存模型

XiyoujiRenwu zhubajie;

用类XiyoujiRenwu声明对象变量zhubajie后,zhubajie的内存中还没用任何数据,这时的zhubajie是一个空对象,空对象不能使用,必须为对象分配变量,即为对象分配实体。

 

2、 为对象分配变量后的内存模型

new XiyoujiRenwu();

new运算符和构造方法做两件事情:

1、 为XiyoujiRenwu类的成员变量分配内存空间,然后执行构造方法中的语句。

如果成员变量在声明时没有指定初值,所使用的构造方法也没有对成员变量进行初始化操作,那么,对于整型的成员变量默认初值是0,对于浮点型默认初值是0.0,对于boolean型默认初值是false,对于引用型默认初值是null.

2、 new运算符在为类的成员变量分配内存空间后,将计算出一个称为引用的值一个十六进制数(该值包含代表这些成员变量内存位置及相关的重要信息),即表达式new XiyoujiRenwu()是一个值。

 

3、new运算符为该对象分配变量

zhubajie = new XiyoujiRenwu();

1、 将这个引用值赋值给对象zhubajie,那么分配内存空间的这些类的成员变量将由zhubajie操作管理。

2、 这些分配内存空间的类的成员变量是属于对象zhubajie的实体。

3、 将引用赋值给zhubajie,zhubajie对象可以操作管理这些实体。

4、 分配了内存空间并计算出引用后,将引用赋值给对象,这个对象就拥有了被new运算符分配了内存的成员变量,即new运算符为该对象分配了变量。

注:对象的引用存在栈中,对象的实体(分配给对象的变量)存在堆中。

栈的优势是,存取速度比堆快。缺点是存在栈中的数据大小与生存期必须是确定的,缺乏灵活性。

堆的优势是,可以动态分配内存大小,生存周期也不比事先告诉编译器,但存取速度慢。

 

3、创建多个不同的对象

一个类通过使用new运算符可以创建多个不同的对象,这些对象的变量将被分配不同存储空间。

 

4.3.4

1、避免使用空对象,即不能让一个空对象去调用方法产生行为,否则程序在运行时会出现异常NullPointerException。

2、垃圾回收机制

Java有所谓的“垃圾回收机制”,这种机制周期地检测某个实体是否已不再被任何对象所拥有,如果发现这样的实体,就释放实体占有的内存。

 

4.4 类与程序的基本结构

将应用程序涉及的java源文件保存在相同的目录中,尽管一个java源文件可以有多个类,但仍然建议一个java源文件中只编写一个类。

 

4.5.2 基本数据类型参数的传值

对于基本数据类的参数,向该参数传递的值的级别不可以高于该参数的级别

 

4.5.3

“传值”传递的是变量中存放的“引用”,而不是变量所引用的实体。

 

 

 

 

 

 

 

4.5.4 可变参数

Public void f(int … x)   // x叫做方法f的参数列表中的可变参数的“参数代表”

{

        

}

 

在方法的参数列表中,可以声明多个相同类型的参数,不给出从某项开始,只给出最后一项参数的名字。

 

参数代表可以通过下标运算来表示参数列表中的具体参数。即x[0]、x[1]……x[m-1]

 

x.length等于x所代表的参数的个数

 

对于可变参数,java提供了增强的for语句,允许按如下方式使用for语句遍历参数列表所代表的参数:

for(声明循环变量:参数代表)

{      

         ……

}      

 

for(int param:x)

{

         Sum=sum+param;

}

 

4.6对象的组合

一个类的成员变量可以是java允许的任何数据类型

一个类A可以把某个别的类B的对象作为自己的一个成员变量,那么类A产生的对象中将包含类B的对象,类A产生的对象将把类B产生的对象作为自己的组成部分,称为Has-A.

 

4.6.1 组合与复用

两个类之间可以没有任何的继承、实现接口的关系,只需要把类B中的一个对象,写入到类A中,这个对象在类A中作为成员变量。同时在类A中写一个方法,方法的参数是类B对象

void setBottom(Circle c),这样就可以在声明实例化一个类B的对象后,将这个对象的引用通过调用类A中的引用传递方法,传递到类A中声明的类B对象上。这样就可以通过类A的对象操作使用类B的方法,这种操作就叫对象A以组合的方式复用对象B的方法。同时声明实例化的类B的对象可以重新实例化,但是不影响类A中的类B对象。

public class  SIM{

long number;

SIM(long number){

This.number = number;

}

Long getNumber(){

Return number;

}

}

 

Public class MobileTelephone{

SIM sim;

Void setSIM(SIM card){

Sim = card;

}

Long lookNumber(){

Return sim.getNumber();

}

}

 

Public class Example4_9{

Public static void main(String args[])

}

 

Java2实用教程(第5版)重要点及遗漏点(二)

标签:3.2   ber   成员变量   应用程序   多个   als   具体类   存储空间   return   

原文地址:http://www.cnblogs.com/1473rg/p/7768070.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!