【JAVA语言程序设计期末考试知识点】
1. **对象创建与回收**:在Java中,创建新对象使用`new`关键字,但回收无用对象不是通过`free`关键字,而是通过垃圾收集器(Garbage Collector)自动进行。
2. **对象赋值**:对象可以通过赋值运算符`=`进行赋值,但这实际上是浅拷贝,不会生成新对象,只是将引用指向同一块内存。
3. **构造函数**:并非所有类都需要定义构造函数,Java会提供默认的无参构造函数,但如果需要初始化特定状态,可以自定义构造函数。
4. **修饰符的使用**:一个类或其属性、方法可以有多个修饰符,如public、private、protected等,但需遵循Java的访问权限规则。
5. **屏幕坐标与容器布局**:Java的屏幕坐标以像素为单位,但容器的左上角是坐标原点,而不是左下角。
6. **抽象方法与抽象类**:抽象方法存在于抽象类中,但抽象类不一定所有方法都是抽象的,也可以包含具体实现。
7. **final关键字**:final类中的属性和方法默认是final的,但不是必须的,final修饰的类不能被继承,final方法不能被覆盖。
8. **最终类与方法**:final类不能有子类,final方法不能被重写。
9. **super关键字**:子类调用父类的方法通常使用`super`关键字,但这不是唯一方式,也可以通过方法名直接调用(如果未重写)。
10. **多重继承**:Java不支持多重类继承,一个类只能有一个父类,但可以通过接口实现多继承的效果。
11. **类型转换**:子类对象可以赋值给父类引用,但反之不行,即c = p是错误的。
12. **接口实现**:如果一个类实现了接口,必须实现接口中的所有抽象方法,除非接口中的方法被default或static修饰。
13. **异常处理**:异常会导致当前方法停止执行,但不会立即终止整个程序,除非异常未被捕获。
14. **接口继承**:接口可以继承其他接口,子接口继承了父接口的所有常量和抽象方法。
15. **字符串操作**:`+`用于字符串拼接,但不能直接用`-`去除字符子串,一般需要使用substring或其他字符串处理方法。
16. **length()方法**:对于字符串和数组,都可以用`length()`获取长度。
17. **String对象操作**:String是不可变的,concat()方法不会改变原对象,而是返回新字符串。
18. **Vector对象**:构造Vector时指定的容量是初始容量,不强制限制元素数量。
19. **MouseListener接口**:MouseListener接口处理鼠标事件,但Java提供了多种鼠标事件处理器接口。
20. **布局管理**:Java容器可以混合使用多种布局管理器。
21. **事件处理**:并非每个事件类都只有一个对应的事件处理器。
22. **线程与run()方法**:线程的运行行为由run()定义,可以直接扩展Thread类或实现Runnable接口。
23. **源代码与字节码**:每个Java类定义对应一个.class文件。
24. **Applet运行**:Java Applet需要AppletViewer或Web浏览器中的Java插件运行。
25. **Applet工作环境**:Applet通常在GUI环境中工作,如Web浏览器。
26. **字符类型编码**:Java使用Unicode编码,而非ASCII。
27. **数据类型长度**:Java的数据类型长度是固定的,不受平台影响。
28. **Applet与Panel**:Applet是JApplet类的实例,类似于Panel,是Applet程序的顶级容器。
29. **继承与成员数量**:子类的域和方法可以多于或等于父类,取决于子类的扩展。
30. **System类**:System类是final的,不能实例化。
31. **自定义组件**:用户可以创建具有交互功能的自定义图形界面元素。
32. **数组元素类型**:Java数组可以存储简单类型或对象类型。
33. **Vector对象类型**:Vector可以存储任何对象,包括简单类型对象。
34. **String对象**:String可以表示常量或变量,但对象本身是不可变的。
35. **容器组件**:容器可以嵌套其他容器,以构建复杂的界面结构。
选择题答案:
1. C. 只能被该类自身所访问和修改
2. C. 只能被该类自身所访问和修改
3. A. 可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类
4. D. staic不能与abstract并列修饰同一个类,因为静态方法不能是抽象的。