### Java面向对象基础知识知识点解析 #### 一、类及类成员的访问控制符 Java中的类及类成员可以通过不同的访问控制符来限定其可见性范围。主要有以下几种: 1. **public**:公共访问级别,类及其成员可以被任何其他类访问。 2. **protected**:受保护访问级别,类及其成员可以被同一包内的类以及不同包中的子类访问。 3. **默认**(无修饰符):包访问级别,类及其成员只能在同一包内被访问。 4. **private**:私有访问级别,类及其成员只能在当前类内部被访问。 #### 二、类及其成员的修饰符 下列选项中,哪些是类及其成员的修饰符? 1. **public**:用于修饰类或类成员,表示公共访问级别。 2. **synchronized**:用于同步代码块或方法,不属于类及其成员的修饰符。 3. **class**:定义类的关键字,不是修饰符。 4. **void**:用于定义方法返回类型为空,不是修饰符。 5. **private**:用于修饰类成员,表示私有访问级别。 6. **protected**:用于修饰类成员,表示受保护访问级别。 7. **final**:用于修饰类、方法或变量,表示不可变。 8. **double**:基本数据类型之一,不是修饰符。 因此,正确的选项是:**public**、**private**、**protected** 和 **final**。 #### 三、关键字static的作用 **static** 关键字主要用于修饰类成员,包括: - 变量:表示该变量为类变量,属于类本身,而不是某个特定对象。 - 方法:表示该方法为类方法,可以通过类名直接调用,无需实例化对象。 #### 四、程序语句编写 1. **显示对象属性**:假设`Object1`有一个名为`field1`的属性,则可以使用如下代码显示该属性: ```java System.out.println(Object1.getField1()); ``` 2. **调用对象方法并获取返回值**: ```java Hold = Object1.method1(); ``` 3. **定义私有变量**: ```java private int Mine; ``` 4. **定义公有变量**: ```java public int field2; ``` 5. **构造函数无参数**: ```java public Class2() {} ``` 6. **构造函数有两个整型参数**: ```java public Class2(int param1, int param2) {} ``` 7. **创建静态整型变量**: ```java static int s_data; ``` 8. **定义浮点常量**: ```java final double PIE = 3.1415926; ``` #### 五、判断题解析 1. **错误**:类中的私有变量仍可以在本类内部的方法中访问。 2. **错误**:即使未显式定义构造函数,Java也会提供一个默认构造函数。 3. **正确**:抽象类中的抽象方法确实需要在其非抽象子类中具体实现。 4. **错误**:抽象类可以包含非抽象方法。 5. **正确**:最终类(final class)不能派生子类,最终方法(final method)不能被重写。 #### 六、程序错误及改正 1. **错误**:`abstract`和`final`不能同时修饰类。 - **改正**:删除`final`。 2. **错误**:`final`变量必须初始化。 - **改正**:添加初始化值。 ```java final int MAX_NUMBER = 20; ``` 3. **错误**:`final`变量一旦初始化后不能修改。 - **改正**:删除`++`。 4. **错误**:非静态方法不能访问静态方法中的非静态变量。 - **改正**:将`var`声明为静态变量。 ```java static int var = 100; static int getVar() { return var; } ``` 5. **错误**:构造器应与类同名。 - **改正**:修改构造器名称。 ```java Label prompt = new Label("请输入数据"); ``` 6. **错误**:构造器应与类同名。 - **改正**:修改构造器名称。 ```java public MyClass1(int d) { data = d; } ``` 7. **错误**:`IamAbstract`为抽象类,不能直接实例化。 - **改正**:创建一个非抽象子类进行实例化。 8. **错误**:变量声明格式错误。 - **改正**:修正变量声明。 ```java abstract class IamAbstract { final int f; double d; abstract void method1(); } ``` #### 七、构造函数的功能和特点 构造函数的功能是在创建对象时初始化对象的状态。其特点是: - 名称与类名相同。 - 没有返回类型。 - 主要用于初始化对象的成员变量。 给出的构造函数示例存在以下错误: - 错误1:构造函数应具有与类相同的名称。 - 错误2:构造函数不应有返回值,因此不需要`return`语句。 - 错误3:变量命名应遵循Java命名规范,首字母大写。 - 错误4:构造函数中的局部变量应使用正确的变量类型。 - 错误5:构造函数参数类型与变量类型应保持一致。 **改正后的构造函数**: ```java public Student(int sno, String sname) { this.studentNo = sno; this.studentName = sname; } ``` 这里假设类名为`Student`,且类中已经声明了`studentNo`和`studentName`两个成员变量。
- 粉丝: 0
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助