SCJP,全称为Sun Certified Programmer for the Java Platform,是Java编程的一个认证考试,主要测试开发者对Java语言的基础知识和理解。以下是从提供的学习笔记中提取的一些关键知识点:
1. **八进制和十六进制表示**:
- 八进制数以0开头,如010表示的是十进制的8。
- 十六进制数以0x或0X开头,例如0x10表示十进制的16。
2. **参数传递**:
- Java中的参数传递是按值传递,对于对象类型的参数,传递的是对象的引用,而不是对象本身。
- 在方法内部,可以改变引用变量指向的对象,但无法改变方法外部变量本身的引用。
- 示例代码中的`ObParm`类展示了方法调用结束后,引用变量仍然指向原始对象,但对象的属性可能已被修改。
3. **方法重载**:
- 方法重载是指在一个类中有多个同名的方法,它们的区别在于参数列表(参数的个数、类型或顺序)不同,与返回值无关。
4. **内部类**:
- 内部类可以直接访问外部类的所有实例变量,无论其访问控制修饰符是什么。
- 如果内部类定义在方法中,它可以访问方法中的final局部变量以及该方法所在类的所有实例变量。
- 静态内部类则不能直接访问外部类的非静态成员,因为它不持有对外部类实例的引用。
5. **数据类型转换**:
- 整数除法会自动向下取整,如`int i=1/3;`的结果是0。
- 明确指定浮点除法,如`float f=1/3f;`,结果将是浮点型,不会被截断为整数。
- 类型转换可以用`(int)`进行,如`int x = (int)(1.23);`。
6. **常量与变量**:
- `final`关键字用于声明常量,一旦赋值就不能更改。
- `instanceof`关键字用来检测一个对象是否属于某个类或接口。
7. **类的方法和成员**:
- 示例中提到`Integer`类没有`setValue`方法,这意味着在Java标准库中,`Integer`对象的值是不可变的。
- `instanceof`关键字用于检查对象是否是特定类或接口的实例或子类。
这些知识点是SCJP学习过程中的基础,理解和掌握它们对于通过SCJP认证考试至关重要。学习过程中,考生还需要深入理解类、接口、异常处理、多线程、集合框架等其他核心概念。