java中的类实例化机制

定义一个Pet类

public class Pet {
    public String name;
    public  int age;
    
    public  void  shoot(){
        System.out.println("叫~~~");
    }
    
}

定义一个程序入口 Application 类

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

首先要理解一个概念,类其实就是一个模板,首先在Application中入口是main方法,并且定义的了实例dog 的名字 “旺财”和年龄 <3>,然后在Pet类中定义了属性name和age,一个一个方法shoot,这就是一个所谓模板,可以称之为“方法区”,当我们去实例化dog的时候,首先会在"栈"中去执行main方法,此时会在"栈"中出现一个dog的引用变量,这个引用变量指向了,new Pet(),而这个实例就被存在了"堆"中,在"堆"中具体的构建出了实际的name和age,以及使用了其的shoot方法,当然在方法区也可以有static  静态方法,静态方法并不需要"栈"中的引用变量指向,也就是可以直接使用,可以用 类名.  使用,也可以实例化对象使用,看下图

posted @   Takiyo  阅读(31)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗

阅读目录(Content)

此页目录为空

点击右上角即可分享
微信分享提示