关于Java的接口继承的题目:
interface Playable {
void play();
}
interface Bounceable {
void play();
}
interface Rollable extends Playable, Bounceable {
Ball ball = new Ball("PingPang");
}
class Ball implements Rollable {
private String name;
public String getName() {
return name;
}
public Ball(String name) {
this.name = name;
}
public void play() {
ball = new Ball("Football");
System.out.println(ball.getName());
}
}
指出上面的程序错误的地方,说明原因。
答案:
问题出在interface Rollable里的"Ball ball = new Ball("PingPang");"。
任何在interface里声明的interface variable (接口变量,也可称成员变量),默认为public static final。
也就是说"Ball ball = new Ball("PingPang")";
实际上是"public static final Ball ball = new Ball("PingPang");"。
在Ball类的Play()方法中,"ball = new Ball("Football");"
改变了ball的reference,而这里的ball来自Rollable interface,Rollable interface里的ball是public static final的,
final的object是不能被改变reference的。因此编译器将在"ball = new Ball("Football");"这里显示有错。
分享到:
相关推荐
在这个"java接口练习作业"中,我们将会探讨接口的使用,以及如何将其应用于集合框架中。 首先,让我们深入了解Java接口的基本概念。接口是完全抽象的类,不能包含实例变量,但可以声明常量。它由一系列无实现的方法...
Java 中继承与多态的题目 本资源摘要信息是关于 Java 中继承和多态的题目,涵盖了面向对象编程的基本概念和继承机制的应用。 继承的概念 继承是面向对象编程的一种机制,允许一个类(子类)继承另一个类(父类)...
在Java编程语言中,继承是面向对象编程的一个核心概念,它允许我们定义类的层次结构,使得一个类可以从另一个类那里继承属性和方法。通过继承,我们可以创建更加具体和专用的类,同时避免代码重复,提高代码的复用性...
2. **面向对象**:Java是纯面向对象的语言,因此对类、对象、继承、封装、多态等概念的理解至关重要。题目可能涉及构造函数、访问修饰符、抽象类与接口、重写与重载等知识点。 3. **集合框架**:Java集合框架包括...
Java基础编程题目总汇是针对Java初学者设计的一系列练习题,旨在巩固和深化Java编程基础知识。这些题目覆盖了从基本语法、数据类型到控制结构、类与对象、异常处理等多个核心领域,对于想要系统性地提升Java编程技能...
### JAVA继承基本类、抽象类、接口的区别与联系 #### 一、概述 在Java语言中,类(Class)的设计是面向对象编程的核心之一。Java提供了三种方式来扩展类的功能:基本类、抽象类和接口。这三者之间既有相似之处,也...
JAVA 自考考试题目 以下是根据提供的文件信息生成的相关知识点: 第 1 部分:单项选择题 1. 在 Java 语言中,int 类型数据的长度是 4 个字节。 解释:Java 语言中的基本数据类型 int 的长度是 4 个字节。 2. 在 ...
2. **面向对象编程**:理解类、对象、封装、继承、多态等概念是Java的核心。类的构造器、访问修饰符(public, private, protected, default)以及抽象类和接口也是重要的知识点。 3. **异常处理**:Java中的try-...
本资源包含了一系列从英文翻译过来的Java认证考试题目,对于准备参加此类考试的人员来说,是一份宝贵的参考资料。 Java认证通常涵盖以下几个核心领域: 1. **Java语言基础**:这部分测试对Java语法、数据类型、...
2. **面向对象编程**:Java是一种面向对象的语言,实训题目会涉及类的创建、对象的实例化、封装、继承、多态等概念。理解类与对象的关系,如何通过接口实现多态性,以及如何利用继承来扩展功能,都是实训中的重点。 ...
Java中的继承是单继承,即一个类只能有一个父类,但可以通过多重继承接口来实现多继承的效果。 - **封装**:封装是隐藏对象的属性和实现细节,只对外提供公共访问方式。在Java中,通过访问修饰符(public, private,...
【Java最新面试题目解析】 1、面向对象的特征: 面向对象编程(OOP)的核心特征包括抽象、继承、封装和多态性。 - 抽象:抽象是将复杂问题简化的过程,关注对象的关键特性和行为,忽略不重要的细节。抽象分为过程...
Java英文面试题目大全 Java英文面试题目大全是涵盖了基本上面的Java英文面试题目和答案的集合,本文将详细解释每个问题的答案,并将相关知识点总结为以下部分: 一、Interface和Abstract Class的区别 Interface和...
本资源“初学者java作业题目”是为牛耳软件培训S1-java课程的学生设计的,旨在帮助他们巩固课堂所学,提高编程技能。这份作业集包含了实际操作题目,适合那些正在学习基础Java编程概念的学员。 Java作业题目通常...
香港的JAVA程序员面试笔试题目可能涵盖以下几个关键领域: 1. **基础语法**:面试可能会开始于一些基本的语法问题,如类、对象、封装、继承、多态等概念。此外,接口、抽象类的区别及其使用场景也是常见的面试题。 ...
2. **面向对象编程**:Java是一种面向对象的语言,因此理解类、对象、封装、继承和多态至关重要。你需要创建类,实例化对象,了解访问修饰符(public、private、protected、默认),并实现方法重写和覆盖。 3. **...
- **多重继承 vs 单一继承**:在Java中,一个类可以实现多个接口,这意味着接口支持多重继承的概念。但是,一个类只能继承一个抽象类,这体现了单一继承的原则。 - **定义与实现**:接口仅能包含抽象方法(从Java ...
类的声明可以包括访问修饰符、类名、继承关系、实现接口等信息。 在上面的题目中,选项 3"可以声明一个空类"是正确的,因为在 JAVA 中,可以声明一个不包含任何成员变量或方法的空类。 三、JAVA 注释方法 在 JAVA...
整理了网上的一些java面试题目,很全很强大 面向对象的特征有哪些方面 1. 抽象:抽象就是忽略一个主题中与当前目标2. 无关的那些方面,3. 以便更充分地注意与当前目标4. 有关的方面。抽象并不5. 打算了解全部问题...