JAVA面向对象 类 对象 封装

本文深入探讨了面向对象编程的核心概念,包括封装、继承和多态。封装是隐藏对象细节,提高安全性和重用性的关键;继承使得子类能共享父类属性和方法;多态则增强了软件的灵活性。类作为对象的模板,描述了一类事物的属性和行为,而对象则是类的具体实例,具有唯一标识。通过private关键字实现封装,并使用setter和getter方法访问私有资源。匿名对象简化了对象的创建,适用于一次性使用的场景。
摘要由CSDN通过智能技术生成

面向对象概念:

面向过程是一种思想,意思是我们要做任何事,都需要亲历亲为,强调的是过程

而面向对象也是一种编程思想,相对于面向过程,可以由原来问题的执行者变为指挥者,进而把生活中很多复杂的问题变的简单化

面向对象的三大特征

1.封装:把相关的数据封装成一个类组件

2.继承:是子类自动共享父类的属性和方法,这是类之间的一种关系

3.多态:增强软件的灵活性和重用性

如何理解类:

1.java语言最基本的单位就是类,类似于类型

2.类是一类事务的抽象

3.可以理解为模板或者设计图纸

对象:

每个对象具有3个特点:对象的状态,对象的行为,对象的标识

1.对象的状态用来描述对象的基本特征

2.对象的行为用来描述对象的功能

3.对象的标识是指对象在内存中都有一个唯一的地址值用来和其他对象分开来

4.类是一类事务的抽象,对象是具体的实现

类和对象的关系

  1. 计算机语言来怎么描述现实世界中的事物的? 属性 + 行为
  2. 那怎么通过java语言来描述呢?
    我们可以通过类来描述一类事物,用成员变量描述事物的属性,用方法描述事物的行为.

对象在内存中的存储

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

在这里插入图片描述

 p2.brand = “HUAWEI”;
就是先到栈内存中找到p2中保存的唯一的地址值
然后根据地址值找到对应的Phone对象,并对其对应的属性值进行修改
p2.eat();
也是先到栈内存中找到p2中保存的唯一的地址值
然后根据地址值找到对应Phone对象,执行Phone对象的eat()方法
封装

关键字 private 

是一个权限修饰符 ,可以用来修饰成员变量和成员方法.被私有化的成员只能在本类中访问

封装是隐藏对象的属性和实现细节,仅仅对外提供公共的访问方式,比如类和方法
好处:

  1. 提高安全性
  2. 提高重用性

:如何封装?封装后的资源如何访问?
我们可以使用private关键字来封装成员变量与方法
如何访问私有资源?
关于成员变量:
setXxx – 对外提供公共的设置值方式
getXxx – 对外提供公共的获取值方式
关于成员方法:
把私有方法放在公共方法里供外界调用即可在这里插入图片描述

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值