40、以下哪个接口的定义是正确的?( D ) A、 interface B { void print() { } ;} B、 abstract interface B { void print() ;} C、 abstract interface B extends A1,A2 //A1、A2为已定义的接口 { abstract void print(){ };} D、 interface B { void print();}
时间: 2024-03-31 07:33:13 浏览: 256
选项D的接口定义是正确的。在Java中,接口是一种特殊的抽象类,它定义了一组方法的签名,但没有实现。接口中的方法都是抽象的,不能有实现代码。接口的定义方式是使用关键字interface,后面跟着接口名称和方法签名。例如,选项D中的接口定义了一个名为B的接口,该接口有一个名为print的方法,没有方法体。选项A中的接口定义了一个名为B的抽象类,该类有一个名为print的方法,并且有方法体,这是不合法的。选项B中的接口定义了一个名为B的抽象类,该类有一个名为print的抽象方法,没有方法体,但是关键字abstract在接口定义中是多余的。选项C中的接口定义了一个名为B的抽象接口,该接口继承了A1和A2两个接口,并且有一个名为print的抽象方法,但是方法体中的分号是多余的。
相关问题
1、编写2个接口:InterfaceA和InterfaceB;在接口InterfaceA中有个方法void printCapitalLetter();在接口InterfaceB中有个方法void printLowercaseLetter();然后写一个类Print实现接口InterfaceA和InterfaceB,要求printCapitalLetter()方法 实现输出大写英文字母表的功能,printLowercaseLetter()方法实现输出小写英文字母表的功能。再写一个主类E,在主类E的main方法中创建Print的对象并赋值给InterfaceA的变量a,对象a调用printCapitalLetter方法;最后再在主类E的main方法中创建Print的对象并赋值给InterfaceB的变量b,对象b调用printLowercaseLetter方法。
好的,以下是代码实现:
```java
// 定义接口InterfaceA
interface InterfaceA {
void printCapitalLetter();
}
// 定义接口InterfaceB
interface InterfaceB {
void printLowercaseLetter();
}
// 实现接口InterfaceA和InterfaceB的类Print
class Print implements InterfaceA, InterfaceB {
// 实现接口InterfaceA中的方法
public void printCapitalLetter() {
for (char c = 'A'; c <= 'Z'; c++) {
System.out.print(c + " ");
}
System.out.println();
}
// 实现接口InterfaceB中的方法
public void printLowercaseLetter() {
for (char c = 'a'; c <= 'z'; c++) {
System.out.print(c + " ");
}
System.out.println();
}
}
// 主类E
public class E {
public static void main(String[] args) {
// 创建Print的对象并赋值给InterfaceA的变量a,对象a调用printCapitalLetter方法
InterfaceA a = new Print();
a.printCapitalLetter();
// 创建Print的对象并赋值给InterfaceB的变量b,对象b调用printLowercaseLetter方法
InterfaceB b = new Print();
b.printLowercaseLetter();
}
}
```
输出结果为:
```
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
a b c d e f g h i j k l m n o p q r s t u v w x y z
```
1)编写接口InterfaceA,接口中含有方法void printCapitalLetter( ALM tools or a loeal tatk 2)编写接口InterfaceB接口中含有方法void 一口 intLowercaseLetter() 3)编写非抽象类Print,该类实现了接口InterfaceA和 InterfaceB 求printCapitalletter()方法实现输出大写英文字母表的功能, intLowercaseLetter()方法实现输出小写英文字母表的功能。
好的,以下是对应的Java代码:
```java
// 定义接口InterfaceA
interface InterfaceA {
void printCapitalLetter(String str);
}
// 定义接口InterfaceB
interface InterfaceB {
void printLowercaseLetter();
}
// 实现接口InterfaceA和InterfaceB的类Print
class Print implements InterfaceA, InterfaceB {
// 实现接口InterfaceA中的方法printCapitalLetter
public void printCapitalLetter(String str) {
for (char c = 'A'; c <= 'Z'; c++) {
System.out.print(c + " ");
}
System.out.println();
}
// 实现接口InterfaceB中的方法printLowercaseLetter
public void printLowercaseLetter() {
for (char c = 'a'; c <= 'z'; c++) {
System.out.print(c + " ");
}
System.out.println();
}
}
// 测试类
public class Test {
public static void main(String[] args) {
Print print = new Print();
print.printCapitalLetter("ALM tools or a loeal tatk"); // 输出大写英文字母表
print.printLowercaseLetter(); // 输出小写英文字母表
}
}
```
以上代码实现了接口InterfaceA和InterfaceB,以及实现了这两个接口的类Print。其中,printCapitalLetter方法输出大写英文字母表,printLowercaseLetter方法输出小写英文字母表。在测试类Test中,我们创建了Print对象,并分别调用了这两个方法进行测试。
阅读全文