Java程序设计基础------类与对象(一)

定义一个类时所用的修饰符有几个?作用是什么?是否可以混用?

可以混用,但是abstract和final不能混用

可以混用,但是abstract和final不能混用

成员变量的修饰符有哪些?作用是什么?是否可以混用?

可以

成员方法的修饰符有哪些?作用是什么?是否可以混用?

可以

成员变量和局部变量的区别是什么?

(1)作用域
        成员变量:针对整个类有效。
        局部变量:只在某个范围内有效。(一般指的就是方法,语句体内)
(2)存储位置
        成员变量:随着对象的创建而存在,随着对象的消失而消失,存储在堆内存中。
        局部变量:在方法被调用,或者语句被执行的时候存在,存储在栈内存中。
                          当方法调用完,或者语句结束后,就自动释放。
 (3)初始值
        成员变量:有默认初始值。
        局部变量:没有默认初始值,使用前必须赋值。

Person p = new Person();在内存中做了哪些事情?

(1)将Person.class文件加载进内存中。
(2)如果p定义在主方法中,那么,就会在栈空间开辟一个变量空间p。
(3)在堆内存给对象分配空间。
(4)对对象中的成员进行默认初始化。
(5)对对象中的成员进行显示初始化。
(6)调用构造代码块对对象进行初始化。(如果没有就不执行)
(7)调用构造方法对对象进行初始化。对象初始化完毕。
(8)将对象的内存地址赋值给p变量,让p变量指向该对象。

this表示什么含义?

(1)this关键字代表本类对象的一个引用,谁调用this所在的方法,this就代表谁  
(2)this的使用场景
        A:用于区分同名成员变量和局部变量;
        B:在定义函数时,该函数内部要用到调用该函数的对象时,因为此时对象还没建立,故this代表此对象
        C:构造函数间调用,this(参数)必须作为第一条语句存在。

什么叫匿名对象,一般在什么情况下使用匿名对象?

一个没有名字的对象, 创建了一个对象出来,没有赋给一个变量; 

特点:对方法或字段只进行一次调用时;

           可作为实际参数进行传递;

           只在堆里面开辟存储区域,只能使用一次, 使用完就被销毁了;

何时使用?只拿来用一次!!

new Person();表示匿名对象,没有名字的对象

new Person().age = 17;//使用一次之后就被销

猜你喜欢

转载自blog.csdn.net/yanzhiguo98/article/details/88410924