AP计算机科学A:接口声明

AP计算机科学A的学习概念,示例问题和解释

大学导师应用商店 大学导师安卓商店

例子问题

例子问题1:接口声明

下列哪一项表示接口的可接受定义?

可能的答案:

人{

private String fName;

private String lName;

toString() {

return fName + " " + lName;

人{

private String fName;

private String lName;

toString();

公共接口矩形{

私双长,宽;

矩形(双l,双w) {

长度= l;

宽度= w;

getArea();

getPerimeter();

公共类矩形{

私双长,宽;

矩形(双l,双w) {

长度= l;

宽度= w;

getArea() {

返回长度*宽度;

};

getPerimeter() {

返回2 *长度+ 2 *宽度;

公共接口

getArea();

getPerimeter();

正确答案:

公共接口

getArea();

getPerimeter();

解释

接口的方法不能有任何成员数据或实现。它只定义了实现该接口所需的一组方法。因此,唯一有效的选项是定义为的接口Shape2D

例子问题12:程序的实现

下面哪个选项表示接口和实现该接口的类的有效声明?

可能的答案:

公共接口

getArea();

public int getPerimeter();

公共类Circle实现了Shape2D {

私人双半径;

公圆(双r) {

半径= r;

getArea() {

返回数学。PI *半径*半径;

getPerimeter() {

返回数学。PI * 2 *半径;

公共接口

getArea();

getPerimeter();

公共类Circle实现了Shape2D {

私有int半径;

公共圆(int r) {

半径= r;

公共int getArea() {

返回数学。PI *半径*半径;

公共int getPerimeter() {

返回数学。PI * 2 *半径;

公共接口

getArea();

getPerimeter();

公共类Circle实现了Shape2D {

私人双半径;

公圆(双r) {

半径= r;

getArea() {

返回数学。PI *半径*半径;

getPerimeter() {

返回数学。PI * 2 *半径;

公共接口

getArea();

getPerimeter();

公共类Circle实现了Shape2D {

私人双半径;

公圆(双r) {

半径= r;

getArea() {

返回数学。PI *半径*半径;

getCircumference() {

返回数学。PI * 2 *半径;

公共接口

getArea();

getPerimeter();

公共类Circle扩展Shape2D {

私人双半径;

公圆(双r) {

半径= r;

getArea() {

返回数学。PI *半径*半径;

getPerimeter() {

返回数学。PI * 2 *半径;

正确答案:

公共接口

getArea();

getPerimeter();

公共类Circle实现了Shape2D {

私人双半径;

公圆(双r) {

半径= r;

getArea() {

返回数学。PI *半径*半径;

getPerimeter() {

返回数学。PI * 2 *半径;

解释

为了实现一个接口,你必须使用语法"implements <接口名>"。因此,对于这个问题,你必须选择一个选项实现Shape2D.此外,必须确保在类中定义的所有方法都与在接口声明中定义的方法一样。你会注意到,很多错误的答案并没有这样做,而是在不同的地方有错误的类型或名称。

例子问题1:接口声明

考虑下面的代码:

公共静态接口

getArea();

公共静态类椭圆实现Shape2D {

私有双r1,r2;

公共椭圆(双r1,双r2) {

这一点。R1 = R1;

这一点。R2 = R2;

getArea() {

返回数学。PI * r1 * r2;

公共静态类Circle扩展Ellipse {

私人双半径;

公圆(双r) {

超级(r, r);

getArea() {

返回super.getArea ();

getCircumference() {

返回数学。PI * 2 *半径;

public static void main(String[] args) {

Shape2D[] vals = {new Circle(5),new Ellipse(8,5)};

For (int I = 0;I < val .length;我+ +){

system . out。println(“区域”+ (i + 1 ) + ": " + 瓦尔斯[我].getArea ());

这段代码的输出是什么?

可能的答案:

区域1:78.53981633974483

区域2:125.66370614359172

1区:31.41592653589793

区域2:201.061929829746752

代码将无法编译。

区域1:78.53981633974483

区域2:78.53981633974483

区域0:78.53981633974483

区域1:201.061929829746752

正确答案:

区域1:78.53981633974483

区域2:125.66370614359172

解释

这里我们既要处理接口的实现,也要处理继承。注意类有一个getArea方法,该方法使用父类的getArea方法。这个方程是,要不是圆圈,所以方程与标准方程相同.这个循环将遍历对象,在每种情况下使用适当的方法。因此,你将得到两个值:

,这是相对接近的

,这是相对接近的

这些足够接近于帮助你估计输出。

(注意行号必须是“1”和“2”。)

例子问题1:接口声明

为什么在switch语句中使用“default”关键字?

可能的答案:

默认语句在case语句中是不必要的。

如果case不存在,则将该函数默认为备份函数。

它将一个变量设置为默认值,以防该值未在case语句中定义。

如果函数陷入无限循环,则默认case语句为case 1。

捕获可能不包含在case语句中的任何剩余可能值。

正确答案:

捕获可能不包含在case语句中的任何剩余可能值。

解释

default关键字用于捕获任何未指定的剩余情况。例如,如果您只想检查一天中的某个小时,比如2点、3点和4点,默认情况将捕获所有其他小时。然后,您可以创建一条语句,说明当这些值被捕获时要做什么。

例子问题2:接口声明

下列哪个选项声明接口用于任何可以实现接收器操作的对象?

可能的答案:

公共接口Sink {

public void Turn(int faucetNum);

公共虚空排水沟(){

//删除代码…

};

Autoclean(int设置);

公共接口Sink {

public void Turn(int faucetNum) {

//转换代码…摘录

公共虚空排水沟(){

//删除代码…摘录

};

Autoclean(int设置){

//自动清理代码…摘录

公共抽象类Sink {

抽象公共void Turn(int faucetNum);

抽象公共空间排水();

Autoclean(int设置);

公共抽象类Sink {

抽象公共void Turn(int faucetNum);

公共虚空排水沟(){

//删除代码…

};

Autoclean(int设置);

公共接口Sink {

public void Turn(int faucetNum);

公共空间排水();

Autoclean(int设置);

正确答案:

公共接口Sink {

public void Turn(int faucetNum);

公共空间排水();

Autoclean(int设置);

解释

首先是这个问题要求一个接口.这Java中的一种声明类型,所以你应该用它来回答。这允许您消除两个不正确的选项。属性,然后您就知道需要查看使用接口关键字。回想一下,对于接口,是您提供的没有任何实现.因此,另外两个错误的答案是提供方法主体的答案。这不能用于接口定义什么事该做却没做实际执行它

例子问题1:接口声明

设计一个接口Cat。界面必须包含meow、purr、clean、hungry、isPurring、isClean、isSleeping、isHungry等功能。

可能的答案:

接口Cat {

public String喵();

public String purr();

公共无效清洁();

公共虚空饥饿();

公共无效是purring ();

公共无效isClean();

公共空间isSleeping();

公共无效isHungry();

类猫{

public String喵();

public String purr();

公共无效清洁();

公共虚空饥饿();

public boolean isPurring();

公共boolean isClean();

isSleeping();

public boolean isHungry();

接口Cat {

public String喵();

public String purr();

公共无效清洁();

公共虚空饥饿();

public boolean isPurring();

公共boolean isClean();

isSleeping();

public boolean isHungry();

接口Cat {

正确答案:

接口Cat {

public String喵();

public String purr();

公共无效清洁();

公共虚空饥饿();

public boolean isPurring();

公共boolean isClean();

isSleeping();

public boolean isHungry();

解释

正确答案定义了所描述的接口。答案选项之一定义了一个具有接口所有属性的类。类和接口是不同的。接口是方法的存根,类通常是实现(这并不总是正确的,查找抽象类)。另一个答案选项只定义接口的存根。如果提示符只是询问存根,那么这个语句是正确的,但是涉及到实现问题。最后,第三个答案选择是purring (), isClean(), isSleeping()和isHungry()作为无效方法。这些方法以“is”作为前缀,“is”通常定义布尔语言。布尔值是正确的返回方法。

大学导师的学习工具