Java基础概念解析:面向对象、JVM、字节码与特性

需积分: 5 1 下载量 98 浏览量 更新于2024-08-05 收藏 32KB MD 举报
"Java基础知识概述" Java是一种广泛使用的高级编程语言,以其面向对象的特性而闻名。本资源主要涵盖了Java的基础知识,包括面向对象与面向过程的对比、Java语言的特点、JDK、JRE和JVM的关系与区别、字节码的优势、Java与C++的不同、Java程序主类的理解、应用程序与小程序的差异、字符型常量与字符串常量的异同、构造器的性质、重载与重写的概念、面向对象编程的三大特性(封装、继承、多态)、String类与StringBuffer/StringBuilder的区别、自动装箱与拆箱机制、静态方法与非静态成员的调用规则、无参构造方法的作用以及import语句的使用。 1. 面向对象和面向过程的区别: - 面向过程:侧重于步骤和逻辑,将问题分解为一系列步骤来解决。 - 面向对象:以对象为中心,强调数据和操作数据的方法,提供更好的抽象和模块化。 2. Java语言的特点: - 跨平台性:通过JVM实现“一次编写,到处运行”。 - 安全性:内置安全机制,防止恶意代码。 - 面向对象:支持类、接口、继承、多态等特性。 - 自动内存管理:使用垃圾回收机制处理内存。 - 解释执行:字节码由JVM解释运行,但现代JVM有即时编译优化。 3. JDK、JRE、JVM的关系与区别: - JDK(Java Development Kit):包含了开发和运行Java程序所需的所有工具。 - JRE(Java Runtime Environment):只包含运行Java程序所需的环境。 - JVM(Java Virtual Machine):是Java程序的执行引擎,负责解释执行字节码。 4. 字节码与采用字节码的好处: - 字节码是中间表示形式,可在多种平台上运行。 - 好处包括:跨平台、节省存储空间、提高安全性。 5. Java和C++的区别: - C++支持指针,Java不支持原始指针操作。 - Java有自动内存管理,C++需要手动管理内存。 - C++支持多范式编程,Java主要是面向对象。 6. Java程序的主类: - 主类是程序执行的起点,包含main()方法。 - 应用程序和小程序(Applet)的主类有不同的入口点和运行方式。 7. Java应用程序与小程序的差别: - 应用程序独立运行,通常通过命令行启动。 - 小程序嵌入在Web浏览器中运行,需要特定的生命周期管理。 8. 字符型常量与字符串常量的区别: - 字符型常量是单个字符,用单引号包围。 - 字符串常量是多个字符组成的序列,用双引号包围,Java中由String类表示。 9. 构造器Constructor不能被覆盖(Override),因为它是类的实例化方法,不是继承链的一部分。 10. 重载(Overloading)与重写(Overriding): - 重载发生在同一个类中,方法名相同,参数列表不同。 - 重写发生在子类中,方法名、返回类型和参数列表都必须与父类方法一致。 11. 面向对象的三大特性: - 封装:隐藏对象内部细节,通过公共接口与外界交互。 - 继承:子类继承父类的属性和行为,实现代码复用。 - 多态:同一消息可以有多种不同的响应方式,提供灵活性。 12. String与StringBuffer/StringBuilder: - String是不可变的,每次修改都会创建新对象。 - StringBuffer和StringBuilder用于可变字符串,多线程环境下推荐使用StringBuffer。 13. 自动装箱与拆箱: - 自动装箱:基本类型与对应的包装类之间自动转换。 - 拆箱:包装类对象转换回基本类型。 14. 静态方法内不能调用非静态成员: - 静态方法与类关联,而非静态成员与类的实例关联,因此静态方法无法访问实例变量。 15. 无参构造方法的作用: - 提供默认的实例化方式,当没有显式构造器时自动添加。 - 可以保证每个对象都有初始状态。 16. import java和javax的区别: - java.* 包含Java标准库的核心API。 - javax.* 用于扩展Java标准库,包含非核心功能,如 Swing GUI 库。 这些知识点构成了Java学习的基础,对理解Java编程至关重要。