从程序的角度,事物的属性可以用变量描述,行为用方法描述。类中的变量成为成员变量,类中的方法成为成员方法。成员变量反映类的状态和特征(属性),成员方法反映类的行为(方法)。顾不同的类具有不同的特征和行为。
1、什么是类?
- 类是定义行为和属性的模板。每个在面向对象技术中,将客观世界中的一个事物作为一个对象看待。例如,我叫bear,,就看作一个对象。每个事物都有自己的属性和行为。描述我自己的属性有姓名、性别、身高、体重等,我的行为呢,包括阅读啊,打羽毛球、游泳、看电影等。在面向对象的程序设计中,将属性和行为合起来就定义为类。类就成为定义一组具有共同属性和行为的对象的模板。
2、什么是对象?
一切皆对象 或 万物皆对象。
3、类和对象的区别是什么?
- 类是集合、抽象的。
- 对象是具体的,个体的。
- 结合问题1来看,对象是类的实例化,对象与类的关系就像变量跟数据类型的关系一样。比如:int型变量j可以存放int型值20,可以对j进行int型数据的加、减、乘、除等操作。对象是类的“取值”,能够保存类的一个实例。
- 类具有封装性、继承性和多态性。
- 类是定义行为和属性的模板,而对象是类的实例化。
4、如何定义一个类、类的属性和方法?
- 首先声明类(包含类首和主体两部分):
- 成员变量反映类的状态和特征(属性),成员方法反映类的行为(方法)。
- 即定义属性,就是在主体里面定义成员变量。
- 即定义方法,就是在主体里面定义成员方法。
5、如何创建类的对象?
- 类名 对象名;
- 对象名=new 类名(参数表);
- 或是:类名 对象名=new 类名(参数表);
- 使用new运算符实例化对象,同时向内存申请存储空间,并同时调用类的构造方法对对象进行初始化。
6、构造方法有什么作用?
- 与其他成员方法的不同作用之处是:构造方法仅用于实例化对象,对成员变量进行初始化。成员方法用于对成员变量进行多次操作。
- 与其他成员方法的调用方式不同是:构造方法是通过new来调用,而成员方法是通过对象来调用。
7、通过构造方法实例化对象的时候有什么特点?
- 构造方法没有返回值,前面不能有返回值类型,也不能有void。
- 程序中不能直接调用构造方法。当用new运算符实例化一个对象的时候,系统会自动调用构造方法对成员变量进行初始化。如果没有定义构造方法,那么系统会为该类生成一个午餐的默认构造方法,使用默认值初始化成员变量(int变量默认值0,布尔变量默认值false,字符型变量默认值是“\0”,String变量默认值是null)。
8、能否使用==进行两个对象的比较?
- 可以。是比较两个对象的内存地址。
9、== 和 equals的区别?【重点】
- ‘==’是比较内存中,两个对象的内存地址。而‘equals’是比较两个对象内容是否一致。