Java语言是一种面向对象的程序设计语言,而面向对象思想(OOP)是一种程序设计思想,我们在面向对象思想的指引下,使用Java语言去设计、开发计算机程序。
这里的对象泛指现实中一切事物,每种事物都具备自己的属性和行为。
面向对象思想就是在计算机程序设计过程中,参照现实中事物,将事物的属性特征、行为特征抽象出来,描述成计算机事件的设计思想。
它区别于面向过程思想(POP),强调的是通过调用对象的行为来实现功能,而不是自己一步一步的去操作实现。
面向对象与面向过程的区别
面向过程:
面向对象:OOP: Object Oriented Programming
面向对象思想是一种更符合我们思考习惯的思想,它可以将复杂的事情简单化,并将我们从执行者变成了指挥者。
面向对象的基本特征
面向对象的语言中,包含了三大基本特征,即封装、继承和多态
类?是一类具有相同特性的事物的抽象描述,是一组相关属性和行为的集合。可以看成是一类事物的模板,使用事物的属性特征和行为特征来描述该类事物。
类可以看做是一个模版,或者图纸,系统根据类的定义来造出对象。我们要造一个汽车,怎么样造?类就是这个图纸,规定了汽车的详细信息,然后根据图纸将汽车造出来
类:我们叫做class。 对象:我们叫做Object,instance(实例)。以后我们说某个类的对象,某个类的实例,是一样的意思。
现实中,描述一类事物:
属性:就是该事物的状态信息。例如小猫的属性:名字、体重、年龄、颜色
行为:就是该事物能够做什么。例如小猫的行为:走、跑、叫。
对象:是一类事物的具体体现。对象是类的一个实例,必然具备该类事物的属性和行为。现实中,一类事物的一个实例:一只小猫 。
现实中,描述一个具体事物:
属性:就是该事物的状态信息。例如具体的小猫的属性:tom、5kg、2 years、yellow。
行为:就是该事物能够做什么。例如小猫的行为:溜墙根走、蹦跶的跑、喵喵叫。
类与对象的关系
类的定义和对象的创建
类的定义格式
实例
/*
现实世界的一类事物:
属性:事物的状态信息。
行为:事物能够做什么。
Java中用class描述事物也是如此:
成员变量:对应事物的 属性
成员方法:对应事物的 行为
*/
public class Student {
//成员变量 位置在类中,方法外
String name;//姓名
int age;//年龄
boolean isMarried;
public void walk(){
System.out.println("人走路...");
}
public String display(){
return "名字是:" + name + ",年龄是:" + age + ",Married:" + isMarried;
}
}
?对象的创建
对象名中存储的是什么呢?答:对象地址
实例
public class Test {
public static void main(String[] args) {
//创建的对象用一个引用数据类型的变量保存起来
Student student = new Student();
/*
直接打印对象名和数组名都是显示“类型@对象的hashCode值",所以说类、数组都是引用数据类型,
引用数据类型的变量中存储的是对象的地址,或者说指向堆中对象的首地址。
*/
System.out.println(student); //sgg1.demo02.Student@4554617c
}
}