什么是面向过程,什么是面向对象?
面向过程:指的所有步骤都得亲力亲为才能完成某件事情。
面向对象:将世间万物看成一个个对象,通过调用对象的属性和方法来完成事情。
面对对象的两大核心概念—类与对象
万物皆对象
类
类是抽象的,是一组事物的集合体。
对象
对象是类的具体体表现,一般唯一的东西一定是对象。
类与对象是相比的关系。
Java中的类与对象
拿猫来说就是一个类,每个猫都可以抓老鼠,吃东西,睡觉
如果有一个大黄猫
大黄猫就是一个对象
猫长相特征就是属性(猫的长相是固定的猫有毛,牙,性别等)
猫抓老鼠,吃东西,睡觉因为是个动作可以有千千万万的,所以就是方法
世间万物皆可通过两方面去描述它,分别是属性特征和形为/动作/功能。
Java中的类
public class Cat {
//属性
public String type; //品种
public String color; //颜色
public double weight; //体重
public int age; //年龄
/**
* 抓老鼠(方法)
*/
public void catchMouse(){
}
/**
* 吃(方法)
*/
public void eat(){
}
/**
* 睡觉(方法)
*/
public void sleep(){
}
}
Java中的对象
//Java中创建一个对象的语法如下:
数据类型 对象名 = new 数据类型();
给属性赋值
对象名.属性 = 值;
访问属性
对象名.属性;
调用方法
对象名.方法名();
成员变量与局部变量
-
初始值不同
-
局部变量没有初始值,必须先赋值后使用
-
成员变量有初始值,可以不必赋值就能直接使用
-
-
在类中的位置不同
-
局部变量指的是在方法中定义的变量就叫局部变量
-
成员变量指的是在类中方法外的变量就叫成员变量
-
-
作用范围不同
-
局部变量只能作用在方法中
-
成员变量作用在整个类中
-
-
在内存中的位置不同
-
局部变量在栈空间分配
-
成员变量在堆/方法区分配
-
-
生命周期不同
-
局部变量生命周期随方法诞生而诞生,随方法结束而结束
-
成员变量随对象/类的诞生而诞生,随对象/类的结束而结束
-
方法
什么是方法?
方法就是一段代码的集合体。
为什么要使用方法?
减少代码的冗余,提高复用。
方法的定义
权限修饰符 [静态修饰符] 返回值 方法名([参数列表]){ }
权限修饰符:public
静态修饰符:static
返回值:void表示无返回值,其它表示返回值数据类型
方法名:给方法取的名字,名字可以随便取
参数列表:可以是0个或多个;写法:数据类型 变量名, 数据类型 变量名, 数据类型 变量名, ...
方法的重载
概念:
在同一个类中,有一个及以上个同名方法,只要参数列表不同即可。它与返回值的类型无关,与修饰符无关
(1)多个方法在同一个类中、
(2)多个方法具有相同的方法名
(3)参数不同,参数个数不同,参数的类型不同,顺序不同