首页 > 编程语言 >java中的类实例化机制

java中的类实例化机制

时间:2022-09-19 22:22:24浏览次数:60  
标签:shoot java name Pet dog 化机制 实例 public

定义一个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  静态方法,静态方法并不需要"栈"中的引用变量指向,也就是可以直接使用,可以用 类名.  使用,也可以实例化对象使用,看下图

标签:shoot,java,name,Pet,dog,化机制,实例,public
From: https://www.cnblogs.com/teststack/p/16709320.html

相关文章

  • Day5 java面向对象的学习
    Day5回顾方法static静态方法不加static非静态方法static是和类一起加载的类与对象的创建类是一种抽象的数据类型,是对某一事物整体的描述对象是抽象概念的具体事......
  • Java中的Optional
    在我们日常的开发中,我们经常会遇到NullPointerException。如何才能优雅的处理NPE?这里告诉大家一个较为流行的方法java.util.Optional使用Optional来修饰对象,表示这个......
  • java 获取用户输入
    /*如何从键盘获取不同类型的变量:需要使用Scanner类1.导包:importjava.util.Scanner;2.Scanner的实例化:Scannerscan=newScanner(System.in);3.调用Scanner类的相关......
  • Java基础语法重点06(java Doc生成文档)
    JDK文档(jdk文档中提供了java中的各种技术的详细资料,以及jdk中提供的各种类的帮助说明)跳转到Java帮助文档1跳转到Java帮助文档2参数信息@author(......
  • java: Facade Patterns
     /***版权所有2022涂聚文有限公司*许可信息查看:*描述:*门面模式FacadePatterns*历史版本:JDK14.02*2022-09-12创建者geovindu*2022-09-12......
  • JavaWeb 4 事务
           ......
  • 第二次Java课堂随笔(静态static的内容)
    老师的课件里面提到了Java中的静态导入内容,那么什么是静态导入呢?于是我在网上查了这个有关内容,百度给出的解释是这样的:Java静态导入实际上就是通过给导入包名中添加一个sta......
  • Java基础2——流程控制
    Scanner通过scanner获取用户的输入,实现交互。importjava.util.Scanner;publicclassdemo{publicstaticvoidmain(String[]args){Scannners=n......
  • Java基础03——方法
    方法的定义与调用方法的定义类似函数,用于完成特定功能的代码片段格式:修饰符返回值类型方法名(参数类型参数名){​ 方法体;​ return返回值;}参数类型:实参(实......
  • java三周目笔记
    运算符运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等。算术运算符  //%取余运算//结果的符号与被模数的符号相同classX{publicstaticvoid......