JavaSE学习笔记系列:面向对象(1)

接下来一段时间,会持续发布一个JavaSE学习笔记系列文章!

1.面向对象的思想

  1. 要考虑问题有哪些类和哪些对象。
  2. 要考虑这些类和这些对象有哪些行为和属性。
  3. 考虑类和类之间具备了哪些关系。(继承、多态、实现、关联)

2.对象的定义

可以看成静态属性(成员变量)和动态属性(方法)的封装体。(必须首先定义类才能有对象)

3.类的定义

类是用来创建同一类型的对象的“模板”,在一个类中定义了该类的对象所应具有的成员变量与方法。(最合适的方法应该定义在最合适的类中)

4.局部变量

Java中的任何局部变量应该先声明,然后赋值,最后再使用。定义成员变量时可以对其初始化,也可以不初始化(这时Java中给出默认初始化)。成员变量的作用范围是整个类体。

5.变量类型

Java中除基本类型之外的变量类型都是引用类型。Java中的对象是通过引用对其操作的。引用相当于C/C++的指针。在Java中,传参时,都是以传值的方式进行的。对于基本数据类型,传递的是数据的拷贝。对于引用类型,传递的是引用的拷贝。基本数据类型是内存中的一小块区域。引用类型是内存中的两小块区域。(堆和栈)

6.类、变量、方法的区别

类是静态的概念,在代码区中。对象是new出来的,位于堆内存(用来动态分配内存的)中。类的每个成员变量在每一个对象中都有不同的值(除了静态变量),而方法只有一份,执行的时候才占用内存。对象只能在运行时分配内存。(局部变量是分配在栈内存中的)

7.变量类型的内存分配

基础类型的变量只有一块内存(栈内存),而引用类型的变量有两块内存(堆内存与栈内存)。(方法的返回值也存在于一个临时的变量里,在栈内存中)

8.方法调用

方法调用完毕之后,在栈空间中为对内存分配的局部变量自动消失。方法的参数可以看作是局部变量。

9.编程语言的一般内存分布

  1. 静态数据存在于data segment中.
  2. 用new, malloc等动态生成的对象和数据存放在heap堆中.
  3. 局部变量存在于stack堆栈中.

10.使用new关键字创建对象

  1. 使用对象(引用).成员变量来引用对象的成员变量
  2. 使用对象(引用).方法(参数列表)来调用对象的方法
  3. 同一类的每个对象有不同的成员变量存储空间
  4. 同一类的每个对象共享该类的方法(静态的代码,只有在运行时才被分配到内存) 非静态方法是针对每个对象进行调用的。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1 面向对象No6 面向对象 OO Object Oriented 编程时以对象为单元,封装数据和逻辑,以此提...
    征程_Journey阅读 1,196评论 0 2
  • Java8张图 11、字符串不变性 12、equals()方法、hashCode()方法的区别 13、...
    Miley_MOJIE阅读 3,744评论 0 11
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,780评论 18 399
  • 一:java概述:1,JDK:Java Development Kit,java的开发和运行环境,java的开发工...
    ZaneInTheSun阅读 2,703评论 0 11
  • 小熊波恩是一只笑的很呆的小棕熊,世界简单的只剩下,开心和很开心。 他喜欢清晨时分晓风拂过湖柳的轻笑,喜欢调皮松鼠皮...
    夏米酱阅读 331评论 0 0