JAVA 面向对象 类 对象 封装

本文介绍了面向过程和面向对象两种编程思想,重点讲解了Java中的面向对象特性。类作为对象的模板,描述了一类事物的特征和行为。对象是类的具体实例,具有属性和方法。匿名对象用于简化代码,而封装则提高了代码的安全性和规范性。对象的创建涉及到堆和栈内存的使用,以及访问控制符的作用。文章还讨论了get和set方法在封装属性时的重要性。
摘要由CSDN通过智能技术生成

1. 面向过程

面向过程也是一种编程思想,这种思想,强调凡事要亲力亲为,每一步都是自己来做

2.面向对象

Java是一门面向对象的语言
面向对象OOP也是一种编程思想,这种思想,强调的是结果,我不在意是怎么完成的,我在意的是有对象可以帮我干活
比如:我们想吃饭,不在意是哪个厨师做的,也不在意是哪个骑手送的,只要有厨师做,有骑手派送就好了
行为习惯 思维方式 比如衣服,没有办法给出一个明确的定义,但是,只要我们看到任何一件衣服,我们就自动把它归类到衣服这个分类中,因为你在过去的生活经验中已经见过太多的衣服,积累经验

3.类

类是指类型Type,用Java中的关键字class来描述
类是一类事物进行抽象总结出来的特征与行为
所以,我们可以把类看做是一类事物的模板/设计图纸,一类事物具有相同属性和行为的集合
注意:类在现实世界中不是真实存在,它只是一种对象的数据类型

4.对象

对象就是根据类创建出来的一个个独立且具体的实例
对象具有各种特征,并且每个对象的每个特征都可以有自己特定的值
对象具有各种行为,每个对象可以执行的操作
一个类可以创建出多个对象,对象直接互不影响,我们通过对象唯一的地址值区分对象

4.1匿名对象

没有名字的对象,是对象的简化表示形式。
使用场景:
当被调用的对象只调用一次时(多次会创建多个对象浪费内存)
Demo d = new Demo();
d.sleep();
d.game();
//这个d就是对象的名字。
也可以写成:
new Demo().show();//创建了一个对象调方法
new Demo().game();//又创建了一个对象调方法

5.类与对象的关系

类是对象的抽象,对象是类的实体

Java是一门面向对象的语言,我们的各种操作,都离不开对象,所以,想干活,先创建对象

6. 对象创建过程分析

比如:Phone p = new Phone();这句话在内存中发生了什么?

1.可以在堆内存中开辟一块空间用来存放对象
2.这个对象需要进行初始化
3.初始化完毕以后就会为这个对象生成一个唯一的地址值
4.在栈内存中开辟一块空间用来存放引用类型Phone类型的变量p
5.将堆内存中对象的地址值交给引用类型的变量p来保存
6.后续就可以根据p中保存的地址,找到堆中的对象,并对对象做操作
7.比如p.brand=“HUAWEI”;就是根据p中保存的地址,找到对象,并对对象的属性赋值
在这里插入图片描述

6.1对象在内存中的存储

Java把内存分成5大区域,我们重点关注栈和堆。

1.一般来讲局部变量存在栈中,方法执行完毕内存就被释放
2.对象(new出来的东西)存在堆中,对象不再被使用时,内存才会被释放
3.每个堆内存的元素都有地址值
4.对象中的属性都是成员变量,是有默认值的
TIPS: 栈与队列指的是一种数据的结构。
栈:先进后出(FILO – First In Last Out)
队列:先进先出(FIFO – First In First Out)

在这里插入图片描述

7. 封装

1.封装可以提高程序的安全性
2.封装可以让资源按照我们预先规定的方式来操作

7.1 封装属性

1.用private修饰属性
2.提供这个属性对应的getXxx()获取值与setXxx()设置值
3.外界就可以调用公共的get与set方法操作属性了
注意:访问控制符private修饰的资源只能在本类中使用

7.2 封装方法

1.用private修饰方法
2.我们可以在本类的公共方法里调用这个私有的方法
3.外界就可以调用这个公共方法来执行私有方法的功能

8.访问控制符

用来控制一个类,或者类中的成员的访问范围。
在这里插入图片描述
TIPS:default是表示不写修饰符,默认,如果写default单词来修饰会报错

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值