黑马程序员技术交流社区
标题: 【绝对自己总结】Java基础复习——第三章 面向对象(1) [打印本页]
作者: li6232876 时间: 2016-5-18 22:57
标题: 【绝对自己总结】Java基础复习——第三章 面向对象(1)
第三章 面向对象
3.1 面向对象特征:
封装(encapsulation)、继承(inheritance)、多态(polymorphism)
3.2 局部变量和成员变量的区别?
| | |
| | |
| | |
| | |
| | |
| 局部变量名称可以和成员变量名称一样,在方法中使用的时候,采用的是就近原则. |
3.3 基本数据类型参数及引用数据类型参数传递
示例1:基本数据类型参数传递
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps18BD.tmp.pngclass Demo {
public static void main(String[] args){
int x = 3;
show(x);
System.out.println("x=" + x);
}
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps18CE.tmp.png public static void show(int x){
x = 4;
}
}
说明:
main方法打印x的值时。此时x指的是main方法中的x变量的值(show方法中的参数x已经随show方法一块出栈了)。所以,打印出来的x值为3而不是4。
示例2:引用数据类型参数传递
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps18DE.tmp.pngclass Demo {
int x = 3;
public static void main(String[] args){
Demo d = new Demo();
d.x = 9;
show(d);
System.out.println(d.x);
}
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps18DF.tmp.png public static void show(Demo d){
d.x = 4;
}
}
执行过程说明:
show方法执行d.x=4后,堆内存中的实体对象的x属性值变为4。show方法执行结束,show方法出栈,show方法参数d也随之出栈。虽然show方法参数d出栈了,但是,由于main方法的变量d依然引用着堆内存中的实体对象,因此堆内存中的实体对象不会被垃圾回收器清除。而main方法打印d.x的值。此时,d指的是main方法中的引用变量x,d.x指的依然是堆内存中的实体对象中x的值。所以,打印出来的值为4而不是9。
3.4 匿名对象的应用场景:
答:①仅一次调用; ②当做参数传递;
3.5 构造函数的作用及构造方法的格式特点:
答:(1)作用:给对象的数据(属性)进行初始化。
(2)构造方法格式特点:
①方法名与类名相同(大小也要与类名一致);
②没有返回值类型,连void都没有;
③没有具体的返回值return。
3.6 一般函数和构造函数什么区别呢?
答:(1)构造函数:对象创建时,一创建就会调用与之对应的构造函数,并且只调用一次,对对象进行初始化。
(2)一般函数:对象创建后,需要函数功能时才调用,并且可以被调用多次。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |