java笔记之局部变量、成员变量和构造器
2014-03-27 10:34
302 查看
1.局部变量与成员变量
java 的局部变量和方法参数在栈区中分配,分配的大小是按照变量类型确定
成员变量在堆区中分配空间,而且自动赋初值
注:成员变量被包含在对象中。对象是在堆区中被分配,按照类中声明属性来分配空间
属性的访问方式 :引用。属性名 可以取值也可以赋值(静态访问)
方法的调用:
类的外部调用: 引用。方法名(参数)
[b]类的内部调用:方法名(参数)[/b]
[b]2.构造器(不能被继承)[/b]
[b]用来描述对象创建过程的一个特殊方法[/b]
[b]构造器[/b]
[b]模型(类)————》对象[/b]
参数
1)构造方法的语法:
修饰符 类名(数据类型 变量名){
}
注:
1))java中的构造器声明在类的内部
2))方法名与类名相同的方法叫构造器
3))构造器不能声明返回值类型
4))构造器可以包含参数,参数一般都是创建对象所依赖的条件
[b]2)。构造器重载[/b]
[b]1))什么叫overLoad:相同的动作产生的结果却不同(方法表达的语义相同,但实现的过程却不同)[/b]
[b]2))构造器的重载:[/b]
[b]构造器的名称相同,构造器的参数列表不同[/b]
[b]注:方法的重载是方法名相同,方法签名不同的方法[/b]
[b]3))构造器重载的作用:为了方便用户使用构造器产生不同的对象,适应用户需求,实现 构造器的重用[/b]
[b]3)默认构造器:[/b]
[b]javac过程中,系统会自动加上一个无参构造器(前提是,类中没定义构造器)[/b]
[b]4)this关键字:[/b]
[b]this是当前对象的引用,是运行期当前对象的本身[/b]
[b]可使用this明确当前对象的方法和属性[/b]
[b]注:在类的内部,访问属性,this。属性名,其中this在没有局部变量和属性同名可以省略。[/b]
[b]1)))this(参数列表) 使用它可以调用本类的其他构造器,可以使代码重用[/b]
[b]2)))this(参数列表)必须写在构造器的第一行(对象在没有完成创建,其他的代码执行,都不符合常理)[/b]
[b]5)方法:用来表示对象的功能,它依赖于对象而存在。方法是动作,一般使用动词来声明[/b]
[b]6)代码分析示例:[/b]
[b]Cal c=new Cal(2,3);[/b]
[b]int result=c.add(XXX,XXX);[/b]
[b]system.out.println(result);[/b]
[b]1))[/b]
[b]Cal c=new Cal(2,3);[/b]
[b]1)))在堆区开辟一片空间,然后空间包含属性和方法的引用,为属性赋予零值[/b]
[b]2)))调用对应构造器,构造器的调用也是一一映射,执行构造器的代码。将实参给构造器中的形参,将形参压入栈中[/b]
[b]3)))在栈区中开辟一片引用空间(this)用来记录当前堆区中对象的首地址[/b]
[b]4)))使用this.属性找到堆区中属性的位置,并对其赋予对应的值[/b]
[b]5)))当构造器执行完,弹出构造器中局部变量[/b]
[b]6)))方法执行到main方法中,在栈区中开辟引用空间c,然后赋值null[/b]
[b]7)))将堆区中的对象的首地址赋值到栈中的引用[/b]
[b]int result=c.add();
[/b]
1)))使用c的空间存储的地址,找到堆区中的add()方法的引用
2)))再通过通过堆区中方法的引用,找到方法区中的方法以及方法体
3)))开始执行add()方法,将方法调用中的实参按照位置赋值给方法定义中的形参
4)))在栈区开辟空间,存储add方法的参数的值
5)))执行Cal的add方法,通过this.属性查找堆区中的值进行运算
6)))将运算的结果存储在栈区,在栈区开辟一个空间result(局部变量),将中间结果赋值给result
7)))将result的值作为放回值返回,这是add方法执行完毕
8)))将add中的局部变量弹栈,回到mian方法中,add将其放回值带回,在栈区开辟空间,用来存储方法的放回值
9)))在栈区中开辟空间result,并将方法的返回值赋值给result
[b]system.out.println(result);
[/b]
1)))找到栈区中result的值,输出
2))当main方法执行完毕,将栈区清空,垃圾回收器gc回收堆区中的空间,类装载器卸载方法区中的代码
java 的局部变量和方法参数在栈区中分配,分配的大小是按照变量类型确定
成员变量在堆区中分配空间,而且自动赋初值
注:成员变量被包含在对象中。对象是在堆区中被分配,按照类中声明属性来分配空间
属性的访问方式 :引用。属性名 可以取值也可以赋值(静态访问)
方法的调用:
类的外部调用: 引用。方法名(参数)
[b]类的内部调用:方法名(参数)[/b]
[b]2.构造器(不能被继承)[/b]
[b]用来描述对象创建过程的一个特殊方法[/b]
[b]构造器[/b]
[b]模型(类)————》对象[/b]
参数
1)构造方法的语法:
修饰符 类名(数据类型 变量名){
}
注:
1))java中的构造器声明在类的内部
2))方法名与类名相同的方法叫构造器
3))构造器不能声明返回值类型
4))构造器可以包含参数,参数一般都是创建对象所依赖的条件
[b]2)。构造器重载[/b]
[b]1))什么叫overLoad:相同的动作产生的结果却不同(方法表达的语义相同,但实现的过程却不同)[/b]
[b]2))构造器的重载:[/b]
[b]构造器的名称相同,构造器的参数列表不同[/b]
[b]注:方法的重载是方法名相同,方法签名不同的方法[/b]
[b]3))构造器重载的作用:为了方便用户使用构造器产生不同的对象,适应用户需求,实现 构造器的重用[/b]
[b]3)默认构造器:[/b]
[b]javac过程中,系统会自动加上一个无参构造器(前提是,类中没定义构造器)[/b]
[b]4)this关键字:[/b]
[b]this是当前对象的引用,是运行期当前对象的本身[/b]
[b]可使用this明确当前对象的方法和属性[/b]
[b]注:在类的内部,访问属性,this。属性名,其中this在没有局部变量和属性同名可以省略。[/b]
[b]1)))this(参数列表) 使用它可以调用本类的其他构造器,可以使代码重用[/b]
[b]2)))this(参数列表)必须写在构造器的第一行(对象在没有完成创建,其他的代码执行,都不符合常理)[/b]
[b]5)方法:用来表示对象的功能,它依赖于对象而存在。方法是动作,一般使用动词来声明[/b]
[b]6)代码分析示例:[/b]
[b]Cal c=new Cal(2,3);[/b]
[b]int result=c.add(XXX,XXX);[/b]
[b]system.out.println(result);[/b]
[b]1))[/b]
[b]Cal c=new Cal(2,3);[/b]
[b]1)))在堆区开辟一片空间,然后空间包含属性和方法的引用,为属性赋予零值[/b]
[b]2)))调用对应构造器,构造器的调用也是一一映射,执行构造器的代码。将实参给构造器中的形参,将形参压入栈中[/b]
[b]3)))在栈区中开辟一片引用空间(this)用来记录当前堆区中对象的首地址[/b]
[b]4)))使用this.属性找到堆区中属性的位置,并对其赋予对应的值[/b]
[b]5)))当构造器执行完,弹出构造器中局部变量[/b]
[b]6)))方法执行到main方法中,在栈区中开辟引用空间c,然后赋值null[/b]
[b]7)))将堆区中的对象的首地址赋值到栈中的引用[/b]
[b]int result=c.add();
[/b]
1)))使用c的空间存储的地址,找到堆区中的add()方法的引用
2)))再通过通过堆区中方法的引用,找到方法区中的方法以及方法体
3)))开始执行add()方法,将方法调用中的实参按照位置赋值给方法定义中的形参
4)))在栈区开辟空间,存储add方法的参数的值
5)))执行Cal的add方法,通过this.属性查找堆区中的值进行运算
6)))将运算的结果存储在栈区,在栈区开辟一个空间result(局部变量),将中间结果赋值给result
7)))将result的值作为放回值返回,这是add方法执行完毕
8)))将add中的局部变量弹栈,回到mian方法中,add将其放回值带回,在栈区开辟空间,用来存储方法的放回值
9)))在栈区中开辟空间result,并将方法的返回值赋值给result
[b]system.out.println(result);
[/b]
1)))找到栈区中result的值,输出
2))当main方法执行完毕,将栈区清空,垃圾回收器gc回收堆区中的空间,类装载器卸载方法区中的代码
相关文章推荐
- java笔记之局部变量、成员变量和构造器
- java笔记之局部变量、成员变量和构造器
- JAVA笔记:成员变量与局部变量
- java---面向对象vs面向过程,局部变量vs成员变量
- java反射学习笔记(3)---使用Class来获取方法、成员变量、构造函数信息
- Java笔记——利用反射机制获取成员变量及成员方法
- java 中局部变量,成员变量,静态变量
- java个人学习笔记06(类、对象、成员变量、局部变量)
- Java菜鸟学习笔记--面向对象篇(八):成员变量和局部变量
- JAVA学习笔记(三)成员变量、局部变量
- 【java】编写一个学生类,提供name,age,gender,phone,address,email成员变量, * 且为每个成员变量提供setter、getter方法。为学生类提供默认的构造器和带
- Java基础篇笔记(四) ---this的用法,解决类中的成员变量和方法中的参数重名
- Java自学笔记(第九天)-内部类-成员内部类-局部内部类-匿名内部类-
- Java学习笔记(成员变量的初始化)
- java,成员变量与方法参数或自定义的局部变量同名要用this,system.out.println(this)用法,
- Java 笔记 及 面向对象 成员变量与局部变量的区别 面向对象3大特征:这里只写了封装,构造函数 .this关键字
- java中的局部变量、成员变量以及数据类型
- Java笔记:变量、构造器
- 第二节 java成员变量与局部变量初始化
- 【慕课笔记】U1 类和对象 第4节 JAVA中的成员变量和局部变量