全球旧事资料 分类
成员变量和局部变量的区别:1:成员变量直接定义在类中。局部变量定义在方法中,参数上,语句中。
2:成员变量在这个类中有效。局部变量只在自己所属的大括号内有效,大括号结束,局部变量失去作用域。
3:成员变量存在于堆内存中,随着对象的产生而存在,消失而消失。局部变量存在于栈内存中,随着所属区域的运行而存在,结束而释放。
构造代码块和构造函数有什么区别?构造代码块:是给所有的对象进行初始化,也就是说,所有的对象都会调用一个代码块。只要对象一建立。就会调用这个代码块。构造函数:是给与之对应的对象进行初始化。它具有针对性。
Perso
p
ewPerso
创建一个对象都在内存中做了什么事情?1:先将硬盘上指定位置的Perso
class文件加载进内存。2:执行mai
方法时,在栈内存中开辟了mai
方法的空间压栈进栈,然后在mai
方法的栈区分配了一个变量p。3:在堆内存中开辟一个实体空间,分配了一个内存首地址值。
ew4:在该实体空间中进行属性的空间分配,并进行了默认初始化。5:对空间中的属性进行显示初始化。6:进行实体的构造代码块初始化。7:调用该实体对应的构造函数,进行构造函数初始化。()8:将首地址赋值给p,p变量就引用了该实体。指向了该对象
fprotected:对于成员来说:相同包中的类可以访问(包访问权限);基类通过protected把基类中的成员的访问权限赋予派生类不是所有类(派生类访问权限)。对于类来说:类不可以声明为protected
如果不希望那个任何产生某个class的对象,可以将该类得所有构造函数设置成private。但是即使这样也可以生成该类的对象,就是class的static的成员(属性和方法)可以办到。
this代表对象。就是所在函数所属对象的引用。this到底代表什么呢?哪个对象调用了this所在的函数。this就代表哪个对象。就是哪个对象的引用。开发时,什么时候使用this呢?注意:用this调用构造函数,必须定义在构造函数的第一行。因为构造函数是用于初始化的,所以初始化动作一定要执行。否则编译失败。静态随着类的加载而加载。而且优先于对象存在。2,静态方法只能访问静态成员,不可以访问非静态成员。因为静态方法加载时,优先于对象存在,所以没有办法访问对象中的成员。3,静态方法中不能使用this,super关键字。因为this代表对象,而静态在时,有可能没有对象,所以this无法使用。4,主函数是静态的。成员变量和静态变量的区别:1,成员变量所属于对象。所以也称为实例变量。静态变量所属于类。r
好听全球资料 返回顶部