java中一个类的成员变量初始化过程

Student s = new Student();

1.加载Student.class文件进内存
2.在栈内存为s开辟空间
3.在堆内存为学生对象开辟空间
4.对学生对象的成员变量进行默认初始化
5.对学生对象的成员变量进行显示初始化
6.通过构造方法对学生对象的成员变量赋值
7.学生对象初始化完毕,把对象地址赋值给s变量

原文地址:https://blog.51cto.com/14651315/2464214

时间: 2024-10-09 11:13:50

java中一个类的成员变量初始化过程的相关文章

java中对象多态时成员变量,普通成员函数及静态成员函数的调用情况

/* 样例1: class Parent{ int num = 3; } class Child extends Parent{ int num = 4; } */ /* 样例2: class Parent{ } class Child extends Parent{ int num = 4; } */ /* 样例3: class Parent{ void show(){ System.out.println("Parent Show!"); } } class Child exten

类的成员变量初始化总结

1. C++变量的初始化方式 首先把需要初始化的成员变量分为几类: ?  一般变量(int) ?  静态成员变量(static int) ?  常量(const int ) ?  静态常量(static const int) 对应的初始化方式是: ?  一般变量可以在初始化列表里或者构造函数里初始化,不能直接初始化或者类外初始化 ?  静态成员变量必须在类外初始化 ?  常量必须在初始化列表里初始化 ?  静态常量必须只能在定义的时候初始化(定义时直接初始化) 举一个简单的例子: [cpp] v

Java类变量和成员变量初始化过程

一.类的初始化 对于类的初始化:类的初始化一般只初始化一次,类的初始化主要是初始化静态成员变量. 类的编译决定了类的初始化过程. 编译器生成的class文件主要对定义在源文件中的类进行了如下的更改: 1)       先按照静态成员变量的定义顺序在类内部声明成员变量. 2)       再按照原java类中对成员变量的初始化顺序进行初始化. 一个java类和编译后的class对应的转换如下: 源文件: public class Person{ public static String name=

Java中的局部变量、成员变量和静态变量

直接看代码 public class Variable { // 静态变量,属于类的变量,且用关键字static声明,不属于实例,虽然可以通过实例来调用,但是不建议 private static int staticVar; // 成员变量,属于类对象的变量 private String instanceVar; public static void main(String[] args) { // 局部变量,在方法中申明的变量,不能在出了这个方法,即一对花括号{}之外 的地方使用 // 局部变

一个类怎样引用另外一个类的成员变量或方法

通常常用的有:A类有个变量C,B类想调用C方法一:变量C是非静态的(static),那么在B类中创建一个A类的对象,用对象.变量名就可以了方法二:变量C是静态的(static),直接用类.变量名 详细的可以参考这个文库:http://wenku.baidu.com/link?url=tyAAmJNGxBnXLnGLDK5of8B23KOMltUXNIA3rpD6U23F460ot_y7GVfy51utrku2T6wyzUgjX5WodmY623D5PGDWY-wr3UCxzzfVpn5I0E3

java中一个类要当作线程来使用有两种方法

1.继承Thread类,并重写run函数 2.实现Runnable接口,并重写run函数 因为java是单继承的,在某些情况下一个类可能已经继承了某个父类,这时在用继承Thread类方法来创建线程显然不可能java设计者们提供了另外一个方式创建线程,就是通过实现Runnable接口来创建线程.

java中一个类中的 this. 是什么作用

2)this代表的是本类的实例对象,不是什么调用本类的方法的对象.当你用new创建一个对象的时候,对象就已经在内存了.(具体的你的血jvm和反射).构造方法只是为了给对象里的属性赋值.在类里任何地方出现的this都是指的本类的实例对象,构造方法里的也 原文地址:https://www.cnblogs.com/isme-zjh/p/11396055.html

转:Java的一道面试题----静态变量初始化过程

public class Test{ private static Test tester = new Test(); //step 1 private static int count1; //step 2 private static int count2 = 2; //step 3 public Test(){ //step 4 count1++; count2++; System.out.println("" + count1 + count2); } public stati

在类中添加方法和成员变量

在前面我们也了解到了Java语言的最小单位是类.在C语言中有着全局变量,在Java中也有. 在Java中添加全局变量(成员变量)是由三大部分组成的:访问修饰符.数据类型和成员变量. 而访问修饰符有这几种:public .private.protected或者不写(这种将使用默认访问修饰符). 我们在引用对象时,必须对其进行初始化,否则将会报错.如果我们不自己去初始化值,那马那么 电脑回自己默认初始值:0.0.0.null.false.空字符. 在Java类中添加方法也是由:访问修饰符.返回值.方