Java面向对象:类和对象

引题程序
在这里插入图片描述

一、什么是面向过程?c语言 (看中的是过程的开发)
在开发一个程序的时候,看中的是中间的过程,每一个过程步骤都需要自己去做
**二、什么是面向对象?**java c# js…… (看中的是类的设计)
在开发一个程序的时候,不看重具体的过程,看中的是谁能帮我去完成这件事,找人(对象)帮我去做
前期设计类的时候比较复杂,但是后期的复用性扩展性比较好
例子:
人把大象装进冰箱
面向过程:(1)打开冰箱(2)把大象装进冰箱(3)关闭冰箱门
面向过程:
人{
打开(冰箱){冰箱.打开()}
操作(大象){大象.进入冰箱的方法()}
关闭(冰箱){冰箱.关闭()}
}
冰箱类{
打开();
关闭();
}
大象类{
进入冰箱的方法();
}
三、面向过程和面向对象的优缺点
1.面向过程:面向过程的性能比面向对象高。因为面向对象在实例化时开销比较大
缺点:维护性、扩展性没有面向对象好
2.面向对象:维护性、扩展性好
缺点:性能低开销大
四、类和对象
1.类就像一个汽车图纸,他是一个抽象的概念上的定义。而对象就是根据汽车图纸真正造出来的汽车。
对象是类的实例,是类的产物
2.汽车的设计图纸包含两部分:
属性:颜色 品牌 价格 长度 宽度……
行为:行驶
把汽车图纸映射到java类里面也是由两部分构成:
成员变量(属性):定义在类下面方法之外的变量
成员方法(行为):去掉static关键字,就是一个成员方法
3.//汽车图纸类
在这里插入图片描述

//开始造车
类是通常情况下是不能够直接使用的,就类似于汽车图纸他是不能够直接行驶的
如果想用这个类,就必须根据这个类去创建一个真正的对象来用,就类似于根据汽车图纸去造一辆汽车。
4.怎么去创建一个对象呢?
类名 对象名=new 类名();
在这里插入图片描述

5.怎么调用属性和行为呢?
对象名.属性名;
如果属性没有赋值,将会有一个默认值,因为他在堆里面
在这里插入图片描述

6.怎么使用方法?
对象名.方法名;
在这里插入图片描述

内存中的体现
在这里插入图片描述

五、成员变量和局部变量的区别
1.定义的位置不同
成员变量定义在类内部的方法之外
局部变量定义在方法内部
在这里插入图片描述

2.作用域不同
成员变量作用在类内部
局部变量作用在方法之内
在这里插入图片描述

3.默认值不同
成员变量有默认值
局部变量没有默认值
4.内存中的位置不同
成员变量保存在堆里面
局部变量保存在栈里面
5.成员变量有四种访问修饰符 private 缺省 protected public
局部变量没有访问修饰符,默认方法与修饰符相同
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值