面向对象初体验:类和对象

类于对象的理解

类 :是指描述一类事物,或者看成是一个分类, 例如人类、车类、星球类,

对象 : 指具体的个体(也叫实例-instance), 例如马云、王石、老郑、马云的迈巴赫、王石的切诺基、老谭的二八自行车、地球、火星等等。 

人类解决问题的方式总是将复杂的事物简单化,于是就会思考这些对象所属于的某一类事物都是由哪些部分组成的。

通常都会将对象划分为两个部分,即动态部分【行为】与静态部分[描述]。//.属性

静态部分:顾名思义就是不能动的部分,这个部分被称为“属性”,任何对象都会具备其自身属性,如一个人,它包括高矮、胖瘦、性别、年龄等属性。

动态部分:然而具有这些属性的人会执行哪些动作也是一个值得探讨的部分,这个人可以哭泣、微笑、说话、行走,这些是这个人具备的行为(动态部分)

人类通过探讨对象的属性和观察对象的行为了解对象。、

静态部分:属性

动态部分【行为】:属性

 

如何设计类【从代码的角度】

①java中的类,就是类!用来描述一类事物,任何事物包含:静态属性,动态属性

java中的类就是用来描述一类事物!

②通过设计类,可以用来描述一类事物

③如何设计:

静态属性[描述]:成员变量[成员字段]

动态属性[行为]:方法

设计学生类:语法:

class Student{//描述了学生这一类的事物

    String name;//静态属性【成员变量  可以不用初始化值】姓名

    int age;//静态属性年龄

    void eat(){//动态行为:可以完成一定的事情,做一定的功能

    }

}

用来描述一类事务的

类规范书写:

  1. 类名首字符大写; Student
  2. 类名必须具有意义;
  3. 必须写注释;

示例 : 设计一个学生类(模板))

class Student{

    String name;  // 姓名

    int age; // 年龄

    ....................................

    void eat(){}

    void sleep(){}

 

对象的创建

1.如何创建对象

    暂时 : new  类名(); --------->相当于学籍卡模板复印件(没有具体的学生资料)

2.给对象字段赋值

注:复制一份模板相当于创建了一个对象:给该对象描述静态属性的字段赋值:用于描述一个具体的学生对象

    1)定义一个变量存储数组的对象的地址,然后使用变量等同于使用对象

        ①使用int 可以接收Student对象吗?

        ②使用String来接收Student对象可以嘛?

3.堆栈内存图肥西代码(重点)

下面使用堆栈内存图来解释一下上面代码的流程和存储。

        ① 每创建一个对象都会在堆内存中开辟一块空间,并且这块空间中具有和类(模板)中一样的 成员。

        ② 每一个对象都被栈中的一个变量所指向,所以操作栈中的变量(s)就如同操作堆中的对象。

        ③ s.name = "小明";其实是把字符串值赋值给s变量指向的堆中的name字段上的,而不是设置给 类的,所以我 们在分析代码的时候,看到new Student()对象应该立马想到在堆中有 一个对象。

 

总结:

    ①如何创建对象:

         类型 变量名 = new 类名() 比如 Student stu = new Student();

    ②给对象赋值 和取值:

        赋值-->对象名.字段名 比如 stu.name=”Xxxx”;

        取值:--》对象名.字段名 比如 stu.name

      ③理解对象 堆栈图

 

 

 

 

 

 

 

 

 

转载于:https://my.oschina.net/u/4083647/blog/3027686

你可能感兴趣的:(面向对象初体验:类和对象)