java-面向对象之认识及内存分配

  • 1.面向对象是基于面向过程的编程思想
    a:面向过程:强调的是每一个功能的步骤
    例如:吃饭:先买菜 洗菜 起锅烧油 盛饭 吃
    b:面向对象:强调的是对象,然后由对象调用功能
    例如:吃饭:饭店调用点菜下单功能 然后吃
  • 2.面向对象思想的特点:
    a:是一种更符合我们思想习惯的思想
    b:可以将复杂的事情简单化
    c:将我们从执行者变成了指挥者
  • 3.类的组成部分
    a:成员变量
    b:成员方法
    c:静态变量
    d:静态方法
    e:构造方法
    f:代码块
  • 4.类和对象的区别
    a:是一组相关的属性和行为的集合。是一个抽象的概念。
    b:是该类事物的具体表现形式。具体存在的个体。
  • 5.成员变量和局部变量的区别
    a:在类中的位置不同
    成员变量:类中方法外
    局部变量:方法定义中或者方法声明上
    b:在内存中的位置不同
    成员变量:在堆中
    局部变量:在栈中
    c:生命周期不同
    成员变量:随着对象的创建而存在,随着对象的消失而消失
    局部变量:随着方法的调用而存在,随着方法的调用完毕而消失
    d:初始化值不同
    成员变量:有默认值
    局部变量:没有默认值,必须定义,赋值,然后才能使用
  • 6.this关键字
    a:代表当前类的引用对象
    记住:哪个对象调用方法,该方法内部的this就代表那个对象
    b:this的应用场景:
    解决了局部变量隐藏成员变量的问题
  • 7.构造方法
    a:作用:用于对对象的数据进行初始化
    b:格式:
    方法名和类名相同
    没有返回值类型,连void都不能有
    没有返回值
    c:构造方法的注意事项
    如果我们没写构造方法,系统将提供一个默认的无参构造方法;
    如果我们给出了构造方法,系统将不再提供默认构造方法,如果这个时候,我们要使用无参构造方法,就必须自己给出;
    推荐:永远手动自己给出无参构造方法
  • 8.static关键字
    (1)静态的意思。可以修饰成员变量和成员方法。
    (2)静态的特点:
    a:随着类的加载而加载
    b:优先与对象存在
    c:被类的所有对象共享
    这其实也是我们判断该不该使用静态的依据。
    举例:饮水机和水杯的问题思考
    d:可以通过类名调用
    既可以通过对象名调用,也可以通过类名调用,建议通过类名调用。
    (3)静态的内存图
    静态的内容在方法区的静态区
    (4)静态的注意事项;
    a:在静态方法中没有this对象
    b:静态只能访问静态(代码测试过),静态加载的时候成员还没加载所以不能调用静态
    (5)静态变量和成员变量的区别
    a:所属不同
    静态变量:属于类,类变量
    成员变量:属于对象,对象变量,实例变量
    b:内存位置不同
    静态变量:方法区的静态区
    成员变量:堆内存
    c:生命周期不同
    静态变量:静态变量是随着类的加载而加载,随着类的消失而消失
    成员变量:成员变量是随着对象的创建而存在,随着对象的消失而消失
    d:调用不同
    静态变量:可以通过对象名调用,也可以通过类名调用
    成员变量:只能通过对象名调用
  • 内存中的执行过程
    三个对象的内存图
static修饰的静态在内存中执行过程
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 二、面向对象 1、面向对象思想: (1)概述:面向对象是相对于面向过程而言的,面向过程强调的是功能,面向对象强调的...
    佘大将军阅读 477评论 0 1
  • 第四章 面向对象 面向对象思想 面向对象思想的引入前面我们讲过数组,当有多个数组都需要遍历时,我们可以将遍历的代码...
    chongsheng阅读 746评论 0 0
  • 面向对象笔记 一、 对象在内存中的存放方法以及被调用过程 class文件首先被加载到方法区中的class文件内容区...
    VictorBXv阅读 551评论 0 2
  • 整理来自互联网 1,JDK:Java Development Kit,java的开发和运行环境,java的开发工具...
    Ncompass阅读 1,612评论 0 6
  • 一:java概述: 1,JDK:Java Development Kit,java的开发和运行环境,java的开发...
    慕容小伟阅读 1,926评论 0 10

友情链接更多精彩内容