面向对象
来源:互联网 发布:淘宝七乐康药店 假货 编辑:程序博客网 时间:2024/06/16 18:57
ü 要分析有哪些类,首先找名词!
ü 基本类型上的byte,默认为0
short 0
iint 0
long 0L
char '\u0000'
float 0.0F
double 0.0D
boolean false
所有引用类型 null
8个都是基本类型,在内存中占一块。引用类型二块内存。
定义了s但是他还不存在,就如头脑中的刀枪,你需要new出来才能上战场上用,也叫实例化一下变成现实,
我们new 出来的对对象 ,叫 hello worid s从 null变成了 引用的地址 ,根据这个值我们能在堆内存中找到一大块内存,
这个东西是new出来的,new出来的东西分配到堆内存,s是引用。
1.堆内存是用来动态分配内存的,你只有在运行期间才知道这个对象有多大,所以放在堆内存,因为比较大。如果你要是不用了,垃圾回收器就会回收。
2.方法不调用就是无用的代码,只有在执行(调用)的它的时候就会在栈内存中存在,不调用了就会消失。
这个change3,但起了改变参数的作用了,传进来后栈内存也指向了同一堆内存,但是方法里面b.setDay(22) 22把值传给 了 day,day把值传给了属性也叫成员变量的day,属性的day通过构造方法把day=22传递了给对象里的 1,1,2000;所对应的第一个1,所以最后结果调用了这方法的结果就是22 -1-2000堆内存里的值就变了。然后方法结束,栈内存的局部变量都消失了,但堆内存已经形成了永久了改变.
a) 基础类型变量就一块内存,引用类型的变量两块内存。写了static后这个方法就不专属于某一对象了,专属于类了
a) 局部变量值是9;i=1234;方法执行完毕i变成了1234但是方法完事后局部变量栈内存块就消失了,所以这方法白调什么也没起作用。
b) test.change2(d1);di传过去,
c) b在栈空间也指向了
d) 方法执行b又指向了 方法执行结束后,栈内存b消失了,
e) 没有人执行 ,垃圾回收器就收走了这个堆内存的空间块、所以这个方法白调了,没有起任何作用和变化。
f) 针对不同的对象调用方法作用域是不同的
g) 通过引用调这个对象 的方法你才可以永远的对这个对象产生作用。
//内部类
public class OutClass2 {
private int x;
class innerClass {
private int x = 10;
public innerClass() {
// TODO Auto-generated constructor stub
}
public void inf(int x) {
x++;//形参x
this.x++;//内部类x
OutClass2.this.x++;//外部类x
}
}
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- 从官网下载apache
- CCF-ISBN号码-201312-2
- Android自定义动画--卡牌翻牌动画
- UVA 1343 - The Rotation Game
- 主成分分析
- 面向对象
- 继承关系中的虚函数表
- Linux 磁盘管理
- c++primer之顺序容器(容器库概览)
- apache开启虚拟主机方法
- hdu2896-ac自动机
- [网络流24题] 21 最长k可重区间集(最大权不相交路径 ,最小费用最大流)
- C语言排序实例(选择、冒泡、插入、折半、快速)
- java版 利用栈实现括号匹配