java:类与对象,内存,匿名对象,私有化,this,封装

面向对象开发:

面向过程开发:
在实现 某个功能的时候,注重的是步骤,每一个步骤都 是自己亲力亲为。
面向对象开发:
在实现某个功能的时候, 不注重过程与步骤,只要结,不是亲力亲为,而是找有个帮助的人去做

面向对象开发 与 面向过程开发都不可以少 相辅相成

面向对象开发的好处:

1符合我们常规的方式 ,把复杂的问题简单化
2.由执行者变成了指挥者
3.便于代码的扩展,与维护.

面向对象的三大特征:

封装 继承 多态

类与对象:

1.类  是抽象的:  用于描述一个一类事物 

                成员属性   是什么 (年龄  性别 姓名) 名词 

                成员方法   能够做什么(打老师  一起吃猪脚饭, 学习) 动词



               2.对象 :  是具体的表现形式     具体定义到某个人的女朋友   

                  类与对象的关系 :  类是对象的抽象(图纸)       对象是类的具体(房子)

                  如何定义一个类 :  找其属下与方法  写一个学生类

内存:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
1.以引用数据类型作为返回值 ==》 传递的都是内存地址
在这里插入图片描述
2. 以应用数据类型作为参数

在这里插入图片描述

匿名对象:

一次性对象,没有名字的对象 new Student()

        特点 :   1.不会 在 栈内存里有地址 ,   但是会在堆内存里去开辟空间.
                 2. 这个一次性的对象用完就马上销毁, 所有 节省内存空间
         使用情况  (1)一般是与作为方法的参数使用 getStudent(new Student()),     
                   (2) 也就是 直接调用其类里的方法 new  Student().study();  
                         匿名对象 给成员变量赋值没有任何意义

在这里插入图片描述

局部变量与成员变量的区别 :

局部变量: 方法里的变量 叫做局部变量,包含方法里的参数
成员变量: 类下面的变量叫做什么成员变量

                   1.位置:  位置不一样  局部变量放在方法里      成员变量在类下面 
                   
                   2.生命周期:(1) 局部变量生命周期随着方法的开始而开始,  随着方法的结束而结束 
                               (2)成员变量的生命周期  随着对象的创建 而开始 ,随着对象的回收而结束 (垃圾回收期)


                   3.数据存的位置不一样 : 局部变量存在栈里 , 而成员变量  存入在堆了

                    4.有无默认值:成员变量都有默认值,局部变量没有默认值

私有化:

     属性私有化 :  私有的 关键字: private    加上私有的关键字之后,  只能够本类访问    
     私有化的好处   1.隐藏内部细节, 保护数据的安全, 以及防止数据的错误
                
		2. 提供两个对外的方法, 一个setXXX() 赋值    getXXX() 取值
                 

		3.  (1)对属性  (2) 对方法   (3)可以对类私有化,  可以对接口私有化 

		4.私有化 其实就是一种简单的封装。

this:

this 的使用 ==》 本类的对象引用 ==》 也就是谁调用的这个方法, 这个对象就是谁
this. 变量 获取的都是成员变量 this.调用其方法 这个方法肯定是成员方法
在 一个方法里面:如果成员变量与局部变量的名字 是一样的,局部变量的作用域优先于成员变量
在这里插入图片描述
在这里插入图片描述

封装 :

好处:
1.隐藏内部代码实现的细节
2.可以代码 可重用性,
3. 提高代码的可维护性

抽取出来的方法就是封装 :属性封装,方法封装。
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值