北邮Java高级程序设计作业解析

版权申诉
0 下载量 141 浏览量 更新于2024-08-04 收藏 29KB DOCX 举报
"北邮-高级语言程序设计(基于Java)-阶段作业三解析.docx" 这份文档涵盖了Java编程语言的一些核心概念,包括访问修饰符、接口与抽象类的区别、继承和方法重载、构造函数的使用、方法的作用、void关键字的含义、方法声明规则以及程序的主方法(main())和垃圾回收机制。以下是对这些知识点的详细说明: 1. 访问修饰符:`public`、`private` 和 `static` 是Java中的访问修饰符。`public` 可以让其他任何类访问,`private` 只允许在同一个类中访问,而 `static` 修饰的变量属于类级别的,是所有同一类的对象共享的。 2. 接口与抽象类:抽象类可以有构造方法,但接口不能。接口中不能有实例方法(即不能有方法实现),而抽象类可以有抽象方法和非抽象方法。抽象类可以通过 `new` 操作符实例化(如果它不是完全抽象的),但接口不能直接用 `new` 操作符实例化。 3. 继承与方法:子类可以覆盖(重写)父类的方法,也可以重载(方法名相同但参数列表不同)。重载是为了实现方法多态,而覆盖是为了改变父类的行为。 4. 构造函数:子类可以无条件地使用父类的所有构造函数,通过 `super` 关键字调用。创建对象时,总是先调用父类的构造函数,然后执行子类的构造函数。构造函数与类同名,用于初始化新创建的对象,但它们没有返回值。 5. 方法的作用:方法使得程序结构清晰,实现了功能复用和代码简洁,避免了重复代码。 6. `void` 关键字:在Java中,`void` 表示方法没有返回值。例如,`public void method()` 指定这个方法不会返回任何值。 7. 方法声明:`Abstract` 关键字用于声明抽象类或抽象方法,`final` 关键字表示类或方法不能被继承或重写。`protected` 是访问修饰符,用于限制访问级别。正确的声明应该是 `public abstract class Car { ... }`,因为一个类可以有多个抽象方法,但抽象类和方法的定义需要遵循Java的语法。 8. `main()` 方法:`main()` 方法是Java程序的入口点,通常放在公共类中,其方法头定义为 `public static void main(String[] args)`,不可随意更改。并非所有类都需要有 `main()` 方法,且对象的创建不一定必须在 `main()` 中。 9. 垃圾回收:在给定的程序中,当 `o` 被赋值为 `null` 后,对象 `o` 就不再有任何引用指向它,因此在第6行之后,对象 `o` 将被视为垃圾并可能被垃圾回收器回收。但是,由于数组 `oa` 中还有对 `o` 的引用,直到第7行 `oa[0] = null` 之后,对象 `o` 才真正符合垃圾回收的条件。所以,对象会在第7行之后被回收。 10. 多源文件程序:一个Java程序可以包含多个源文件,每个源文件可以定义一个公共类,但每个源文件中只能有一个公共类,且公共类的名称应与源文件名相同(去掉.java扩展名)。 以上是文档中提到的Java编程的关键概念,学习和理解这些知识点对于理解和编写Java程序至关重要。