类与对象

类与对象

一、类与对象

  • 类是一个抽象模板;对象是一个具体的实例

  • 类中只有属性和方法

    • 属性 静态属性

    • 方法 动态行为 ,static后变为静态方法,可以直接通过类名调用


二、方法

  • 方法的定义:动态行为

  • 分类:动态方法、静态方法

  • 调用:

    • 静态方法:类名.方法名

      [静态方法是和类一起加载的,所以可以直接通过类模板调用(不用new)]  
    • 动态方法:

      • 先new一个对象,例如 Person p = new Person();

      • 对象名去调用方法,p.sleep();


三、对应的引用

  • 引用类型

    通过对象引用的类型

  • 基本类型

    基本类型:8种


四、属性

  • 属性书写格式

    • 万能格式: 修饰符 属性类型 属性名 = 属性值;

  • 默认初始化

    • 数字 : 0 , 0.0

    • char : uooooo

    • boolean : false

    • 除了基本类型,引用类型默认值均为 null


五、对象的创建和使用

  • 对象的创建

    • 必须使用new关键词创造对象,还需要有构造器 ,便于初始化属性值 Person p = new Person();

    • 对象的属性 p.name

    • 对象的方法 p.sleep();


六、创建对象内存分析

  • 内存空间划分

    • 栈内存空间

      • 出入栈方式:先进后出

      • 作用: 用来存放引用变量

        [引用变量名指向真实的类对象【类就是一个模板】等等 和 main()函数名变量,总上,可以引用变量理解为"药引子"]  
    • 堆内存空间:

      • 出入栈方式:后进先出 ;

      • 作用: 用来存放具体对象,包括new出来的具体对象本身、方法本身(包括静态方法)、静态属性

         

        • 例如:

        Pet p = new Pet();中p是引用变量,new Pet()才是具体对象
           所以,p存放在栈内存中,而 new出来的Pet()对象放在堆空间中

         

      • 方法区(特殊空间):堆中有个特殊区域,即方法区,用来存放字节码文件,在堆中所占内存空间固

        定不变

        • 静态方法区 :在方法区内的静态方法区存放静态方法,静态方法是和类一起加载的,所以可以直

          接通过类模板调用(不用new)

 

posted @ 2021-06-26 12:02  H.「俠」  阅读(48)  评论(0)    收藏  举报