哈喽!大家好,今天和大家分享下博主最近正在学习的面向对象系列——类和对象的内容,由于内容比较多,为了能尽量给大家讲详细,我讲这部分内容拆成两篇。
前段时间由于学业比较忙,就断更了一段时间,接下来会陆续与大家分享我在学习java过程中整理的内容,让我们一起学习,一起upupup吧!!!
目录
一、 面向对象的初步认识
1.1 什么是面向对象
1.2 面向过程与面向对象
二、类定义和使用
2.1 简单认识类
2.2 类的定义格式
三、类的实例化
3.1 什么是实例化
3.2 类和对象的说明
一、 面向对象的初步认识
1.1 什么是面向对象
- Java是一门纯面向对象的语言(Object Oriented Program,简称OOP),在面向对象的世界里,一切皆为对象。
- 用面向对象的思想来涉及程序,更符合人们对事物的认知,对于大型程序的设计、扩展以及维护都非常友好。
- 面向对象是解决问题的一种思想,主要依靠对象之间的交互完成一件事情。
1.2 面向过程与面向对象
面向过程的例子:传统洗衣服过程
根据上图每一个步骤都罗列出来,整体清晰,说通俗点就是第一步做什么,第二步做什么…
如果按照该种方式来写代码,将来扩展或者维护起来会比较麻烦。
面向对象例子:现代洗衣服过程
在上图中总共有四个对象:Actor(人)、衣服、洗衣粉、洗衣机
整个洗衣服的过程:人将衣服放进洗衣机、倒入洗衣粉、启动洗衣机、洗衣机就会完成洗衣的过程并且甩干。
在这整个过程中,主要是人、衣服、洗衣粉、洗衣机四个对象之间交互完成的,人不需要关心洗衣机具体是如何洗衣服,是如何甩干的。
注意:面向过程和面相对象并不是一门语言,而是解决问题的方法,没有那个好坏之分,都有其专门的应用场景。
二、类定义和使用
2.1 简单认识类
类是用来对一个实体(对象)来进行描述的,主要描述该实体(对象)具有哪些属性(外观尺寸等),哪些功能(用来干嘛),描述完成后计算机就可以识别了。
比如:洗衣机,它是一个品牌,在Java中可以将其看成是一个类别。
属性:产品品牌,型号,产品重量,外观尺寸,颜色...
功能:洗衣,烘干、定时....
2.2 类的定义格式
在java中定义类时需要用到class关键字,具体语法如下:
// 创建类
class ClassName{field //字段 / 属性 成员属性 或者成员变量
method //成员方法
}
class为定义类的关键字,ClassName为类的名字,{}中为类的主体
定义一个洗衣机类:
class WashMachine {
//字段 / 属性 成员属性 或者成员变量
public String brand;//"品牌"
public String type; // 型号
public double weight; // 重量
public double length; // 长
public double width; // 宽
public double height; // 高
public String color; // 颜
//成员方法
public void washClothes(){ // 洗衣服
System.out.println("洗衣功能");
}
public void dryClothes(){ // 脱水
System.out.println("脱水功能");
}
public void setTime(){ // 定时
System.out.println("定时功能");
}
}
类的定义小结:
1. 一般一个文件当中只定义一个类;
2. main方法所在的类一般要使用public修饰(注意:Eclipse默认会在public修饰的类中找main方法);
3. public修饰的类必须要和文件名相同;
4. 不要轻易去修改public修饰的类的名称,如果要修改,通过开发工具修改(如下图)。
三、类的实例化
3.1 什么是实例化
定义了一个类,就相当于在计算机中定义了一种新的类型与int,double类似,只不过int和double是java语言自带的内置类型,而类是用户自定义了一个新的类型,比如上述的:WashMachine类。它们都是类(一种新定义的类型)有了这些自定义的类型之后,就可以使用这些类来定义实例(或者称为对象)。
用自定义类类型创建对象的过程,称为类的实例化,在java中采用new关键字,配合类名来实例化对象。以上面的洗衣机类为例实例化一个对象:
public class Test {
WashMachine washMachine = new WashMachine();
//类型 引用变量名 = 对象的地址
}
当我们使用new关键字实例化一个对象后,此时我们通过画图分下这个对象在空间上的分布:
此时我们可以看见,washMachine这个引用变量存了对象地址,这个地址就是在堆区新开辟的空间。所以我们说引用指向对象。
3.2 类和对象的说明
1. 类只是一个模型一样的东西,用来对一个实体进行描述,限定了类有哪些成员。
2. 类是一种自定义的类型,可以用来定义变量。
3. 一个类可以实例化出多个对象,实例化出的对象 占用实际的物理空间,存储类成员变量。
做个比方。类实例化出对象就像现实中使用建筑设计图建造出房子,类就像是设计图,只设计出需要什么东西,但是并没有实体的建筑存在,同样类也只是一个设计,实例化出的对象才能实际存储数据,占用物理空间。
结语:
类和对象(一)的内容就此告一段落,希望各位读者阅读后都能有所收获,如果喜欢本篇博客的可以点赞+关注+收藏!!!同时也欢迎各路大神如果在阅读过程中发现文章有错误也可私信指正错误,我们类和对象(二)再见~~~