一、类和对象:
1.面向对象概述:
对象:指随处可见的事物;例如猫、狗、书桌、笔记本。
对象通常被划分为2个部分:静态部分和动态部分。静态部分指对象的属性,动态部分指对象的行为;例如老师这个对象的属性有性别、年龄、教学科目、教龄等,老师的行为有授课、阅卷、批改作业、管理班级等。
2.类:
具有相同属性和行为的一类事物就称为类。
3.面向对象程序设计的特点:封装、继承、多态。
- 封装:将对象的属性和行为封装起来,封装的载体就是类。封装的思想保证了类内部数据结构的完整性,应用该类的用户不能随意修改类内的数据结构,可以避免外部操作对内部数据的影响,提高程序的可维护性。
- 继承:继承利用了特定对象之间的共有属性。使用继承的思想可以缩短软件的开发周期。例如鸟类和鸽子,鸽子属于鸟类的一种,那鸽子就可以继承鸟类的属性。
- 多态:多态是同一个行为具有多个不同表现形式或形态的能力。多态就是同一个接口,使用不同的实例而执行不同操作。同一个事件发生在不同的事物身上,就会产生不同的效果。
4.类的构造方法:
- 构造方法的特点:构造方法没有返回值;构造方法的名称要与本类的名称相同。
- 构造方法中可以为变量成员赋值,这样当创建一个该类对象时,可以实例化其成员变量。如果类内没有明确定义构造方法,则编译器会自动创建一个不带参数的默认构造方法。
5.静态变量:静态成员变量属于类所有,区别于个别对象,可以在本类或其他类使用“类名.静态变量名”的方式调用静态变量。
注:静态数据与静态方法通常是为了提供共享数据或方法。例如数学计算公式等,以static声明并实现,这样当需要使用时,直接使用类名调用这些静态成员即可。
在静态方法中不可以使用this关键字;在静态方法中不能直接调用非静态方法。
二、类的主方法:
public static void main(String[] args){
//方法
}
- 主方法是静态的,所以在主方法中调用其他方法也必须是静态的。
- 主方法没有返回值。
- 主方法的形参为数组。
四、对象的创建:
ClassName objectname = new ClassName(); //无参即为默认构造函数创建
ClassName objectname = new ClassName("a"); //有参构造函数创建
在Java语言中初始化与创建是被捆绑在一起的。
每个对象都是相互独立的,在内存中占据独立的内存地址,并且具备自己的声明周期,周期结束就变成垃圾。
*访问对象属性和行为:对象.类成员
*对象的引用:类名.对象引用名称
*对象的比较:
(1)==:比较两个对象引用的地址是否一致;
(2)equals():String类中的方法,用于比较奥两个对象引用所指向的内容是否一致。