2017-08-03spa
JAVAse对象
1:静态变量和成员变量的区别:继承
所属不一样:静态变量属于类,因此也称为类变量生命周期
成员变量属于对象,也称为实例变量内存
内存中位置不一样:静态变量存储余方法区的静态区io
成员变量存储于堆内存class
内存出现时间不一样:静态变量随着累的加载而加载,随着累的消失而消失变量
成员变量随着对象的建立而存在,随着对象的消失而消失方法
调用不一样:静态变量能够经过类名调用,也能够经过对象调用static
成员变量只能经过对象名调用
2.成员变量和局部变量的区别:
在类中位置不一样:成员变量:类中方法外
局部变量:方法内或方法声明上
在内存中的位置不一样:成员变量:堆内存
局部变量:栈内存
生命周期不一样:成员变量:随着对象的建立而存在,随着对象的消失而消失
局部变量:随着方法调用存在,随着方法结束消失
初始化值不一样:成员变量:有初始默认值
局部变量:没有初始默认值
3.类的初始化过程:Student student = new Student ();
加载Studnet.class文件进内存
在栈内存为student开辟内存
对学生对象的成员变量进行默认初始化
对学生对象的成员变量进行显示初始化
经过构造方法对学生对象的成员变量赋值
学生对象初始化完毕,把对象地址赋值给s变量
4.代码块:
局部代码块:在方法中出现,限定变量声明周期,及早释放,提升内存利用率
静态代码块:在类中方法外出现,并加上static修饰符,用于给类进行初始化,在加载类的时候就调用,而且执行一次
构造代码块:在类中方法外出现,多个构造方法中相同的相同的代码存放在一块儿,每次调用构造方法时执行一次,并在构造方法前执行
5.匿名对象:没有名字的对象
做用:对象调用方法 ,仅仅一次的时候;做为实际参数传递
6.面向对象基于面向过程:
面向对象的思想:做为一个指挥者,把过程根据不一样的功能进行封装,须要用时进行调用,避免重复,容易修改
面向过程的思想:做为一个参与者,参与每个过程和步奏并完成它
面向对象的特征:封装;继承;多态
7.static:
随着类的加载而加载
优先于对象存在
被类的全部对象共用(可跨类)
可经过类名调用