面向对象
面向对象的思想
- 面向对象基于面向过程的编程思想。
- 面向过程:强调的是每一个功能的步骤。
- 面向对象:强调的是对象,然后由对象去调用功能。
面向对象的思想特点
举例:
买电脑:
面向过程:我的先了解电脑---了解我自己的的需求----找对应的参数信息---去买电脑---讲讲价----买回电脑
面向对象:我知道我自己要买电脑----别人去给我买电脑----就买回来了。
吃饭:
面向过程:去超市买菜---洗菜---切菜---炒菜---菜炒起来---吃
面向对象:上饭店吃,我----服务员(点菜)---厨师(做菜)---服务员(端菜)---吃
开发、设计、特征
面向对象开发
就是不断的创建对象,使用对象,指挥对象做事情
面向对象设计
其实就是在管理和维护对象之间的关系。
面向对象的特征
封装
继承
多态
【抽象】
学生
特征:姓名、年龄、性别,.....
行为:学习、吃饭、睡觉.....
属性:该事物的描述信息
行为:该事物能够做什么
Java中最基本的单位是:类。
现实世界事务和类的对应关系
事务: 类:
属性 成员变量
行为 成员方法
类
类就是一组相关的属性和行为的集合。
对象:是该类事物的具体表现形式。具体存在的个体。
举例:
学生:类
班长:对象
<1>类的定义格式
class 类名{
类体;
}
例如:
class Person{
}
注意:当类名有多个单词组成的时候,要求每个单词的首字母都要大写。
<2>成员变量的语法格式
class 类名{
数据类型 成员变量名 = 初始值; - 其中=初始值可以省略,分号不可以省略
}
例如:
class Person{
String name;
int age;
}
注意:
当成员变量名字由多个字母组成的时候,要求从第二个单词开始每一个单词的首字母都要求大写
补充:
局部变量:主要指声明在方法体内的变量,作用域从声明开始一直到方法体结束。
成员变量:主要指声明在方法体外类体内部的变量,作用域从声明开始到类体结束
对象
是该类事物的具体表现形式,具体存在的个体
当一个类定义存在后,可以使用new运算创建我们该类的对象。对象创建的过程一般称为类的实例化。
对象的创建
<1>语法格式
new 类名();
例如:
new Person(); - 匿名对象
<2>使用方式
对象创建的形式叫做类的实例化,而创建对象的本质其实就是在内存空间中的
堆区申请一块空间,用于记录该对象所拥有的成员变量的信息。
引用的使用
使用引用数据类型声明的变量叫做引用类型变量,简称为“引用”。
<1>语法格式
类名 引用名称;
Person p;
<2>使用方式
引用变量通常用于记录创建对象在堆区中的内存地址信息,从而可以方便的使用该对象以及该对象中的成员变量信息,使用方式:
引用名.成员变量名;
例如:
Person p = new Person();
p.name = "lisi";
p.age = 18;
成员方法(行为)
类中可以定义成员变量和成员方法
<1>语法格式
class 类名{
返回值类型 成员方法名(形参列表){
成员方法体;
}
}
例如:
class Person{
String name;
int age;
//自定义成员方法来打印一句话
void show(){
System.out.println("面向对象学完,我就要去找对象。");
}
}
注意:
当成员方法名由多个单词组成的时候,要求从第二个单词开始首字母大写。
成员方法的详解
<1>返回值类型
返回值类型指从方法体中向方法体外返回的数据类型。
返回值主要返回的类型由:
当需要返回内容 66 时候, 则返回值写int类型即可。
当需要返回3.14的时候,则返回值写double类型即可。
当需要返回"你好"的时候,则返回值写String类型即可。
在方法体中使用return关键字来返回数据并且结束方法,例如:return 66;
当方法体中不需要返回任何数据的时候,则返回类型写void即可。
<2>形参列表
形式参数主要指从方法体外向方法体内传入数据内容,通过使用变量的声明来传入。
形式参数的语法格式:
数据类型 形参变量名
当需要传入数据内容是 66 时候, 则形式参数写为:int i;
当需要传入数据内容是3.14的时候,则形式参数写为:double b。
当需要传入数据内容是"你好"的时候,则形式参数为:String s。
形式参数列表的语法格式:数据类型 形参名1,数据类型 形参名2,.......
当需要传入数据内容为 66和3.14的时候,则形式参数写为: int i,double b
当需要传入数据内容为 66 和"你好"的时候,则形式参数写为:int i,String s
当不需要传入任何数据的时候,则形参列表位置啥也不写即可。
<3>成员方法体
成员方法体通过用于编写描述改方法功能的语句块,也就是对多条语句的打包/包装。
当该方法的功能就用于计算1+1的和并返回的时候,,则方法体中,return 1+1;即可
成员方法的调用
<1>语法格式
引用/对象.成员方法名(实际参数列表);
例如:
p.show();
<2>使用方法
实际参数列表主要用于给形式参数列表进行初始化工作。因此参数的个数、类型、顺序等都必须要保持一致
实际参数可以传递 直接量,变量,表达式以及方法的调用等.......