创建一个对象的步骤

1.创建一个对象的步骤

Student s = new Student();

1,Student.class加载进内存

2,声明一个Student类型引用s

3,在堆内存创建对象,

4,给对象中属性默认初始化值

5,属性进行显示初始化

6,构造方法进栈,对对象中的属性赋值,构造方法弹栈

7,将对象的地址值赋值给s

2.例

  1. class bj07_6 {
  2.    public
    static
    void main(String[] args) {
  3.       Student s = new Student();
  4.       s.show();
  5.    }
  6. }
  7. class Student {
  8.    private String name = "张三";
  9.    private
    int age = 23;
  10.    public Student() {
  11.       name = "李四";
  12.       age = 24;
  13.    }
  14.    public
    void show() {
  15.       System.out.println(name + "..." + age);
  16.    }
  17. }

执行流程:

1) bj07_6.class进入方法区(里面有main主方法)

2) 主方法进栈:main,

3) 之后遇到Student s = new Student();Student.class先加载进方法区,

4) 在栈中声明一个Student类型的引用s

5) New Student在堆中开辟空间,(有个地址值)

成员变量默认初始化

String name---默认初始化值 null

int age-----默认初始化值0

6) 显示初始化

private String name = "张三" name----张三

private
int age = 23; age----23

7)构造方法初始化,构造方法被调用(当创建对象时系统帮忙调用),进栈.

name = "李四";对name-张三进行修改 name—李四

age = 24;对age=23进行修改 age--24

8)修改完后,构造方法执行完成,弹栈.

9)对象创建完成后,将地址值赋给s

10)接下来遇到s.show();通过引用数据类型s(地址值)找到show方法,show方法进栈,进站后输出:
李四…24.

11)输出完成后show方法弹栈.

注意:

如果构造方法 public Student() {}里面没有方法语句体,也会调用构造方法,构造方法进栈,然后弹栈,走个过场.

时间: 2024-12-18 11:28:42

创建一个对象的步骤的相关文章

面向对象(创建一个对象的步骤)

 画图说明一个对象的创建过程做了哪些事情? Student s = new Student(); Student.class加载进内存 声明一个Student类型引用s 在堆内存创建对象, 给对象中属性默认初始化值 属性进行显示初始化 构造方法进栈,对对象中的属性赋值,构造方法弹栈 将对象的地址值赋值给s 原文地址:https://www.cnblogs.com/happystudyhuan/p/10705221.html

创建一个对象都在内存中做了什么事情

创建一个对象都在内存中做了什么事情? 1:先将硬盘上指定位置的Person.class文件加载进内存. 2:执行main方法时,在栈内存中开辟了main方法的空间(压栈-进栈),然后在main方法的栈区分配了一个变量p. 3:在堆内存中开辟一个实体空间,分配了一个内存首地址值.new 4:在该实体空间中进行属性的空间分配,并进行了默认初始化. 5:对空间中的属性进行显示初始化. 6:进行实体的构造代码块初始化. 7:调用该实体对应的构造函数,进行构造函数初始化.() 8:将首地址赋值给p ,p变

怎么编写可以把一个类中只能创建一个对象

static关键字可以限定一份: class Person{ String name; private Person(){};//私有化构造函数,禁止外部创建对个本类的对象 static Person p=new Person();//在本类中创建一个对象,因为下面一个普通方法在应用程序中直接类名.方法名:那么 //直接在上面添加static关键字,使之变成静态方法. public static Person getInstance(){  return p;//返回到上面的对象.具体就是把内存

[Swift] 创建一个对象

创建一个对象 先写一个People类 // // People.swift // Class // // Created by YouXianMing on 15/3/18. // Copyright (c) 2015年 YouXianMing. All rights reserved. // import Foundation class People { // 变量值 var name : String var age : Int // 初始化方法 init() { name = "YouX

C++只能允许类创建一个对象的做法

方法一: 利用引用计数: #include <iostream> using namespace std; class Object { public: ~Object() { count=1; } Object() { if (count==0) { cout<<"该类只能创建一个对象!"; return ; } --count; } private: static int count; }; int Object::count=1; int main() {

如何限制类仅能创建一个对象

方法一: 利用引用计数: #include <iostream>   using namespace  std;      class  Object   {      public:             ~Object()       {           count=1;          }        Object()        {            if (count==0)            {                cout<<"

李洪强iOS开发之创建一个对象并访问实例变量

// //  main.m //  07 - 创建一个对象并且访问实例变量 // //  Created by vic fan on 16/7/3. //  Copyright © 2016年 李洪强. All rights reserved. // // Car *car = [Car new]; 类名 *指针 = [类名 new]; [Car new];做了三件事: 1 向计算机申请内存空间 2 初始化类中的实例变量 3 返回对象的内存地址 #import <Foundation/Found

在Linux7.0下创建论坛详细步骤解析

   在Linux7.0下创建论坛详细步骤解析具体内容查看附件. 如有错误,希望可以反馈回来,谢谢!          

创建守护进程步骤与setsid() -- linux deamon进程

原创:http://www.cnblogs.com/mickole/p/3188321.html 一,守护进程概述 Linux Daemon(守护进程)是运行在后台的一种特殊进程.它独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件.它不需要用户输入就能运行而且提供某种服务,不是对整个系统就是对某个用户程序提供服务.Linux系统的大多数服务器就是通过守护进程实现的.常见的守护进程包括系统日志进程syslogd. web服务器httpd.邮件服务器sendmail和数据库服务器mys