标签: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[])
}
标签:3.2 ber 成员变量 应用程序 多个 als 具体类 存储空间 return
原文地址:http://www.cnblogs.com/1473rg/p/7768070.html