1、面向过程与面向对象有哪些区别与联系?
面向过程:实现功能时每个步骤、每个细节需要详细处理。强调步骤
面向对象:不关心具体步骤,把事情交给会做的人。强调对象
2、面向对象的思想特点有哪些?
更符合思维习惯。
复杂的代码简单化。
从执行者变成指挥者。
3、面向对象的三大特征分别是什么?
封装(encapsulatio)
继承(inheritance)
多态(polymorphism)
4、什么是类,什么是对象?什么是成员变量,什么是成员方法?
类是Java最基本的单位,类是一种抽象,是一组相关属性和行为的集合,可以看成一类事物的模板
对象是类的具体体现,是类的实例
类的成员
成员变量 事物属性
成员方法 事物行为
5、局部变量和成员变量的区别?
(1)定义位置不同:
局部变量在方法定义中或者方法声明时
成员变量在类中方法外
(2)生命周期不同:
局部变量随着方法的调用而存在,随着方法调用完毕而消失
成员变量随着对象的创建而存在,随着对象的销毁而消失
(3)默认值不同:
局部变量没有默认的初始值,必须定义,赋值,才能使用
成员变量有默认的初始值
(4)在内存中的位置不同:
局部变量保存在栈内存中,
成员变量保存在堆内存中
6、方法的参数
基本数据类型作为形式参数时,传入具体值
引用数据类型作为形式参数时,传入地址值
注意String类的特殊性,StringBuffer 和StringBuilder
7、构造方法
对对象的数据(属性)进行初始化的方法
格式:
(1)public
权限修饰符,方法名与类名相同(大小写也与类名一致)
(2)没有返回值类型 void
都没有
(3)没有具体返回值return
注意:
(1)对象不能调用构造方法,创建对象时类名 对象名 = new 类名()
,类名()就表明调用的是该类的无参构造函数
(2)构造方法可以重载
8、匿名对象
匿名对象调用方法格式 new 类名().方法名();
匿名对象只适合对方法的一次调用,多次调用会产生多个对象,占用内存。
匿名对象可以调用类的属性,但调用后立刻会被垃圾回收器回收,无意义。
匿名对象可作为参数传递。
9、封装
类隐藏对象属性及实现细节,只对外提供公共访问方法。
封装在Java中的体现:
(1) 方法
(2) private关键字
(3) 包
(4)接口
封装好处:
减少耦合、易于理解和维护。
隐藏实现细节。
防止该类的代码和数据被外部类随意访问。
提高代码复用性、安全性。
private关键字
特点:
private 是权限修饰符,可以修饰成员变量和成员方法,被其修饰的成员只能在本类中被访问。
private的应用:
成员变量用private修饰
提供对应的getter()和setter()方法,可以编写其他逻辑。
this关键字
代表当前对象的引用,访问本类内容
局部变量和成员变量重名时采用“就近原则”优先使用局部变量,解决成员变量和局部变量的同名冲突。
用法:
1、本类成员方法访问本类成员变量;
2、本类成员方法中访问本类另一个方法;
3、在本类构造方法中访问本类另一个构造方法(构造方法重载调用)需注意:this语句必须是唯一一个,不能与super同时使用