Java编程:javac与java命令详解及对象创建过程

需积分: 9 0 下载量 36 浏览量 更新于2024-09-11 收藏 49KB DOC 举报
"Java基础编程资源,包含Java应用说明,涉及javac和java命令、面向对象特性、变量类型、构造函数等核心概念" 在Java编程中,了解并掌握基础概念至关重要。`javac`和`java`是Java开发中常用的两个命令。`javac`是Java编译器,它的主要任务是对`.java`源代码文件进行编译,生成JVM(Java虚拟机)可识别的字节码文件,即`.class`文件。这一步骤确保了源代码符合Java语言规范,并转换成计算机能够执行的语言。而`java`命令则负责运行已编译的`.class`文件,它启动JVM,加载运行时需要的类库,并执行字节码。 Java语言的核心特性包括封装、继承和多态。封装是将数据和操作数据的方法绑定在一起,保护数据不受外部直接访问。继承允许一个类(子类)继承另一个类(父类)的属性和方法,实现代码复用。多态则允许子类对象可以替代父类对象,使得程序更具灵活性和扩展性。 在Java中,变量分为成员变量和局部变量。成员变量是定义在类级别的变量,它们在整个类的范围内都有效。相反,局部变量声明在方法、构造函数或块中,其作用域仅限于声明它们的代码块。成员变量存储在堆内存中,随对象的生命周期同步;而局部变量存储在栈内存中,生命周期与所在代码块一致。 构造函数是用于初始化对象的特殊方法,其名称必须与类名相同,且没有返回类型。当创建新对象时,构造函数自动调用,通常用于设置对象的初始状态。与构造函数相对的是普通函数,它们在需要时被显式调用,可能被多次调用。构造函数适用于当对象创建时就需要设定某些属性的场景。 构造代码块和构造函数虽然都用于对象初始化,但有所不同。构造代码块中的代码会针对所有实例进行执行,而构造函数是特定于每个实例的。这意味着,每次创建新对象时,构造代码块都会执行,而构造函数只在创建对象时调用一次。 创建一个Java对象时,会在内存中经历一系列步骤: 1. 类加载:JVM将硬盘上的`.class`文件加载到内存中。 2. 主方法执行:在栈内存中为`main`方法分配空间,并为局部变量`p`分配空间。 3. 对象创建:在堆内存中为对象分配空间,分配内存首地址。 4. 初始化:为对象的属性分配空间并进行默认初始化。 5. 显示初始化:根据代码对属性进行显示初始化。 6. 构造代码块执行:执行对象的构造代码块,初始化相关逻辑。 7. 构造函数调用:调用相应的构造函数,完成特定对象的初始化工作。 8. 引用赋值:将对象的内存首地址赋值给引用变量`p`,这样就可以通过`p`访问和操作对象。 以上内容涵盖了Java编程基础的多个关键点,包括编译与运行、核心特性、变量类型以及对象的创建过程。熟悉这些知识点对于理解和编写Java程序至关重要。