创建对象内存分析及简单小结

java面向对象

1.创建对象内存分析

  • 内存中有2个区域,一个是堆一个是栈,栈中存储的是一些引用和main方法,堆中有个特殊的区叫方法区,存放存放具体创建对象的一些属性值和方法。

    • 方法区中加载了类,存放了main方法,常量池中放了一些要赋予的常量
    • 方法区中有一块地方是静态方法区,static:和类一起加载
  • 栈中存储的对象名是一个指向堆的内存地址,通过对象名.属性值和对象.方法名来对属性进行修改或者对方法进行调用

  • 静态方法和变量随着类一起加载。可以随时调用


  • 创建对象内存图
    内存图

###1.1 内存图代码演示:

package oopdemo01;

import oopdemo01.demo03.Pet;

public class Application {
    public static void main(String[] args) {
        Pet dog = new Pet();
        dog.name="旺财";
        dog.age=5;
        dog.shot();


        Pet cat = new Pet();
        cat.name="咪咪";
        cat.age=3;

        cat.shot();


    }
}

package oopdemo01.demo03;

public class Pet {
    public static String name;
    public static int age;

    public void shot(){

        System.out.println(this.name+"它叫了");
    }

}

####运行结果

旺财它叫了
咪咪它叫了


2.简单小结类与对象

  • 1.类与对象:

    • 类是一个模板:抽象的。
    • 对象是一个具体的实例
  • 2.方法:

    • 方法定义、调用
  • 3.对象的引用

    • 引用类型、基本类型(8)

    • 对象是通过引用来操作的:栈---->堆

  • 4.属性:字段 Field (成员变量)

    • 默认初始化:
    • 数字: 0 0.0
    • char: u0000
    • boolean:false
    • 引用:null
    • 修饰符 属性类型 属性名=属性值!
  • 5.象的创建和使用

    • 必须使用new关键字创建对象, 构造器 Person zaodian=new Person();
    • 对象的属性 zaodian.name
    • 对象的方法 zaodian.sleep()
  • 6.类:

    • 静态的属性 属性
    • 动态的行为 方法

————————————————————————————————————————————————————



4.更多参考

狂神说Java

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值