Java学习笔记day03——类和对象

一.理解对象

    java是面向对象的编程语言(OOP),面向对象的核心就是把软件开发看成各个对象的集合
    面向对象最接近于人类的思考方向
    e.q:比如将一个学生信息管理系统拆分成为各个模块
            学生信息管理系统:
                学生基本信息管理
                    每个学生的基本信息
                        姓名,性别,学号...
                学生成绩管理
    思考问题的范围叫做问题域,对象就是问题域中的每个模块
    
    1.类
        一类具有相同属性和行为的模板
            比如在描述电脑时,考虑的是所有的电脑应该描述什么内容
                型号,CPU,内存,运行速度,画面显示,收发邮件,编程...
        将这些特性用Java语言描述出来,就是Java中的类
        
    2.对象
        对于问题领域中的事物的抽象,应该是某一个具体被描述的事物
            特指具体的一个个体,比如手中拿着的这台电脑
        对象具有以下特性
        1.万物皆对象,每个问题域中的实体可称作对象
        2.每个对象都是唯一————没有两片相同的叶子
        3.对象具有属性和行为
        4.对象具有状态 状态是指对象在某个时刻的属性取值    
        5.每个对象都是一个类的实例,也就是说,对象是不能脱离他所在的类存在的
            但是一个对象可以属于多个类,只要符合类的特性,那么就可以说这个对象属于这个类
            同一个类的对象都具有相同的属性名,但是属性值不一样
            Java中的对象在Java中的表现形式:
                学生对象:向生存空间申请了一块存储空间,保存有你的一般属性
                所以,Java中的对象其实就是堆区中的一块内存空间,堆区是位于JVM的一块区域
                    补充:JVM中有各种区域,其中有一块小的存放小数据,叫做栈区,程序运行时才会调用进入栈区
                        另一块大的存放大数据,叫做堆区,绝大多数对象构建完成后都会在堆区中保存
                        所以在Java中构建对象的过程就是向内存中申请空间来存放各种属性的过程
                        而GC垃圾回收站回收的东西就是回收堆区中不再使用的对象/内存
                new关键字就相当于在JVM中申请一块内存,以便存储将来创建的对象的信息,new一次,申请一次
                对象在保存时,也是保存的该对象在内存中的地址,寻找对象时也是寻找该对象在内存中的一个地址

二.定义类
    以学生为例
        1.分析学生都具备哪些特点及行为
        2.把学生这一群体抽象为一个Java类:Student
        3.把学生的特点抽象为Student中的属性
        4.把学生中的行为抽象为Student中的方法
        5.如果有必要的话,可以在类中添加构造器,方便在创建对象的时候给对象的属性赋值
       

猜你喜欢

转载自blog.csdn.net/gangangan0001/article/details/87934029
今日推荐