JAVA学习第6天;面向对象;类;方法;对象;封装

面向对象概念

面向过程;是一种变成思想,指的是我们做任何事,都要亲历亲为
面向对象;和面向过程不同的是, 我们做任何事,从执行者变成指挥者,会让很多复杂的问题简单化
面向对象的三大特征;
封装;把相关的数据封装成一个"类"组件
继承;是子类自动分享父亲属性和方法,是类的一种关系
多态: 增强软件的灵活性和重用性

1java中最基本单位就是类,相当于类型;
2类是一类事物中抽取共同属性和功能形成的
3可以理解成模板或者设计图纸.
类在现实中并不存在,他只是对象的数据类型

对象

1对象的属性用来描述对象的基本特征
2对象的功能用来描述可以完成的操作
3对象的标识指每个对象在内存中都有一个唯一的地址值用于与其他对象做区分

类和对象的关系

1先创建类,在通过类创建出对象
2我们可以通过一个类创建出多个对象
3类是抽象的,类是具体的

类的使用

我们要把汽车抽象成类
汽车的价格,颜色,坐几个人这些都是汽车的属性
而开车,停车都是汽车的功能

如用 new关键字来定义对象

在这里插入图片描述
在这里插入图片描述

对象在内存中的存储

java把内存分为5大区域 ,目前只需要关注栈和堆
1.一般来讲局部变量在存在栈中,方法执行结束就会被释放
2对象(new’ 出来的东西)存在堆中,在对象不再被使用时,内存才会被释放
3每个堆内存的元素都有地址值
4对象中的属性都是成员变量(相当于上例汽车中的颜色,座位等),他们是有默认值的
TIPS: 栈与队列指的是一种数据的结构。
栈:先进后出(FILO – First In Last Out)
队列:先进先出(FIFO – First In First Out)

对象的创建过程分析

Car c = new Car
1在栈内存中开发出一块内存用于存放引用类型Car 的变量c
2在堆内存中开发出一块用于存放Car类型的对象
3对象会被初始化 如String color =null;
4对象会生成一个唯一的地址值,然后将这个地址值交给 类型Car的变量c来保存
5想要操作Car对象的各种资源,可以通过变量c的地址值来找到该对象 比如 c.start();

car 可以生成对多个对象!!!

封装

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

1提高安全性
2提高重要性

private 关键字

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

在这里插入图片描述
在这里插入图片描述
new School 不一样 因为每次new 定义都会在堆中形成新的地址值
new School

School s=new School();
new School(); 在这里插入图片描述
匿名对象

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值