1:请解释面向对象是什么?并举例说明?
答: 1、面向过程是以函数为基础,完成各种操作;
2、面向对象是以对象为基础。强调的是对象、结果;
3、以上两者都是一种思想。
面向对象是一种更加符合人们思考习惯;他可以将复杂问题简单化;将程序员从执行者变为指挥者。
2:类与对象的关系?
答:类就是成员变量和成员方法的一中集合,是一个抽象的概念。对象就是类的具体存在和体现。
3:类有哪些内容组成?
答:成员变量 -- 事物的属性;成员方法 -- 事物的行为,一些功能;构造函数 -- 对数据的初始化
4:局部变量和成员变量的区别?
答: A:定义位置不同 -- 成员变量在类中;局部变量在方法中,或者方法的形式参数
B:初始化值的区别:成员变量:有默认初始化值;局部变量没有初始化值,想使用必须先赋值;
C:存储位置不同:成员变量在堆中,随着对象的存在而存在,对象消失他也消失;局部变量存储在栈中,随着方法的调用而存在,随着方法的调用完毕而消失。
5:构造方法的特点及注意事项?
答: 1、如果没有给出构造函数,那么系统就默认给一个无参构造器
2、假如你给了构造函数,系统就不再提供构造函数
3、构造方法重载就是构造方法接收不同的参数
6:this关键字是什么?在什么时候使用?
答:this关键字就是:哪个对象调用方法,那么这个方法中就隐藏了一个this代表这个对象。
通过this可以调用成员方法和成员变量;用于解决局部变量隐藏成员变量值的问题。
7:给成员变量赋值的方式有几种?分别怎么实现?
答:A:给静态的成员变量赋值
(1)可以通过类中的方法给成员变量赋值(私有成员变量的也可以) public void setXXX(){...}
(2)可以通过构造方法给成员变量赋值(私有成员变量的也可以)public XXX(){...}
(3)可以通过代码块完成成员变量的初始化值(私有成员变量的也可以){xxx = ...;}
(4)可以通过类名.成员变量赋值 XXX.name = ...;
B:给非静态的成员变量赋值
(1)可以通过类的方法赋值 public void setXXX(){...}
(2)可以通过对象调用 xxx.name = ...;
(3)可以通过代码块完成成员变量的初始化值{xxx = ...;}
8:static关键字是什么?有什么特点?在什么时候使用?
答:他可以修饰成员变量和成员方法。被他修饰的内容,随着类的加载而加载,优先于对象存在,可以被类名直接调用,如果类中的某个内容被该类的所有对象所共有,那么,该内容就该被static修饰,没有被static修饰的其实就是属于对象的特有属性,特殊描述。 |
|