4-4 指出以下声明中的错误。 Protected interface Area { Public static int left; Public static final int RIGHT; Public Area() Private double area; Public static abstract double perimeter(); } New Area()
时间: 2024-02-25 19:56:14 浏览: 42
以下是声明中的错误:
1. 接口不能被声明为protected。因此,应该将`protected`改为`public`或`interface`。
2. 接口中的字段应该是常量,因此应该将`Public static int left`改为`public static final int left`。
3. `RIGHT`字段没有初始化,因此应该为其指定一个常量值或在构造函数中初始化。
4. 接口不能拥有构造函数,因此应该删除`Public Area()`构造函数。
5. `area`字段是私有的,因此无法在接口中访问。应该将其移动到实现该接口的类中。
6. 接口中的抽象方法不能是静态的,因此应该删除`static`关键字。
综上所述,修正后的声明应该如下所示:
```
public interface Area {
public static final int left = 0;
public static final int RIGHT = 1;
public abstract double perimeter();
}
```
注意,由于接口中的方法都是抽象的,因此不需要使用`abstract`关键字来修饰。此外,由于接口中的字段都是常量,因此可以省略`public static final`中的任何一个关键字。
相关问题
public final static void int w(); 错在哪里
这段代码是错误的,因为Java语法中,返回值类型和方法名的位置是互换的,应该是:
```
public static final int w() {
// 方法体
}
```
其中,修饰符的顺序可以任意,但是通常遵循public、protected、private的顺序,static和final可以放在任意位置。而且,方法名后应该跟着一对小括号,而不是int类型的声明。
Java中static、public、private、protected的用处
好的,我明白您的问题了。在Java中,static、public、private、protected都是关键字,它们的作用如下:
1. static关键字:表示静态的、不可修改的。使用static关键字定义的变量和方法属于类,可以在不创建对象的情况下访问它们。此外,静态变量可以在类的所有实例之间共享,而静态方法不需要实例化就可以调用。
2. public关键字:表示公开的、可以被所有类访问的。使用public关键字定义的变量和方法可以在整个程序中被其他类使用。
3. private关键字:表示私有的、仅限于该类内部访问的。使用private关键字定义的变量和方法只能在当前类中访问,其他类无法访问。
4. protected关键字:表示受保护的、仅限于该类或其子类访问的。使用protected关键字定义的变量和方法可以在当前类及其子类中访问,但在其他类中无法访问。
这就是Java中static、public、private、protected的作用。希望我的回答能够帮助您。