该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

11.

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 = newBall("Football");

System.out.println(ball.getName());

}

}

这个错误不容易发现。

答案: 错。"interfaceRollable extends Playable, Bounceable"没有问题。interface可继承多个interfaces,所以这里没错。问题出在interface Rollable里的"Ball ball =new Ball("PingPang");"。任何在interface里声明的interface variable (接口变量,也可称成员变量),默认为public static final。也就是说"Ball ball = new Ball("PingPang");"实际上是"public staticfinal Ball ball = new Ball("PingPang");"。在Ball类的Play()方法中,"ball = newBall("Football");"改变了ball的reference,而这里的ball来自Rollable interface,Rollable interface里的ball是public static final的,final的object是不能被改变reference的。因此编译器将在"ball = newBall("Football");"这里显示有错。

java写一个类吧,能不能自己写个java自带的类相关推荐

  1. java 后端 使用 Graphics2D 制作海报,画echarts图,带工具类,各种细节:如头像切割成圆形,文字换行算法(完美实验success),解决画上文字、图片后不清晰问题

    文章目录 先看成品 前言 一.项目目录结构 一.海报制作PosterUtil.java工具类 1. 描述 2. 代码 二.测试生成海报 1. 描述 2. 直接上代码 四.其他测试 1. Test1_C ...

  2. 手写一个promise用法_手写一个Promise

    JS面向对象 在JS中一切皆对象,但JS并不是一种真正的面向对象(OOP)的语言,因为它缺少类(class)的概念.虽然ES6引入了class和extends,使我们能够轻易地实现类和继承.但JS并不 ...

  3. 手写一个promise用法_手写一个 Promise

    1 js 的基本数据类型? 2 JavaScript 有几种类型的值? 3 什么是堆?什么是栈?它们之间有什么区别和联系? 4 内部属性 [Class] 是什么? 5 介绍 js 有哪些内置对象? 6 ...

  4. python写一个表白程序-用Python写一个表白神器让你脱单

    原标题:用Python写一个表白神器让你脱单 来自公众号:Python编程时光 今天是什么节日,就不用小明说了吧? 有女朋友的,该准备的礼物买了吗? 没有对象的,表白的套路学会了吗? 还没有?好吧,你 ...

  5. java创建一个不可变对象_如何在Java中创建不可变类?

    java创建一个不可变对象 Today we will learn about the immutable class in Java. What are immutable classes? The ...

  6. java完成一个学生信息调查程序_利用Java设计一个简单的学生信息管理程序

    利用Java设计一个简单的控制台学生信息管理程序 此程序可作为课设的参考,其中信息存储于文件中. 创建了学生类Student,用于存储学号等的信息.创建StudentFunction类,用于实现诸如学 ...

  7. java写一个web聊天工具_javaweb写的在线聊天应用

    写这个玩意儿就是想练练手, 用户需要登陆才能在线聊天,不要依赖数据库, 不需要数据库的操作, 所有的数据都是保存在内存中, 如果服务器一旦重启,数据就没有了: 登录界面: 聊天界面: 左侧是在线的用户 ...

  8. python写一个类方法_python中如何写类

    类的定义 Python中,定义类是通过class关键字,例如我们定义一个存储学生信息的类: class Student(object): pass class后面紧接着是类名,即Student,类名通 ...

  9. python写一个类方法_重写python脚本,在脚本的每个类中注入一个方法 - python

    假设我有一个python模块foo.py,其中包含: class Foo(object): def __init__(self): pass 接下来,我想解析此脚本,并在每个类中注入一个方法,然后将其 ...

最新文章

  1. 将表中的值变成字段显示
  2. 嵌入式linux笔记,嵌入式linux学习笔记(一)----嵌入式操作系统
  3. sql array 数组基本用法(三)
  4. matlab中的containers.Map()
  5. 建模matlab的算法代码呀,数学建模算法打包
  6. 我们需要什么样的恐怖小说?
  7. 关于eclipse中文注释乱码的问题
  8. luoguP1742 最小圆覆盖
  9. redis docker安装、进入命令行后启动服务
  10. 用vue手脚架生成的项目直接修改时.vue文件后,保存编译就报一大堆的错,这是咋回事呢?
  11. 从零开始搭建Vue开发环境(windows)
  12. 频谱、幅度谱、功率谱和能量谱
  13. 二维数组/三维数组 定义
  14. 吐鲁番市谷歌高清卫星地图下载
  15. Zerg虫族的传说[官方资料]
  16. 【OpenCV】在Linux下用CMAKE编译安装OpenCV3.2.0
  17. 游戏开发中常见的几种碰撞检测
  18. Laplace算子和Laplacian矩陣
  19. notepad++无法安装插件问题
  20. SPI读写电能计量IC-ATT7022-灵思科

热门文章

  1. java写入carbondata_Carbondata使用过程中遇到的几个问题及解决办法
  2. 壁式框架内力计算_4种类型剪力墙的计算要点
  3. vsftpd设置被动模式_(1)vsftpd主、被动模式iptables配置方法
  4. Java集合工具类的一些坑,Arrays.asList()、Collection.toArray()...
  5. lambda表达式或者匿名函数中为什么要求外部变量为final
  6. 脚手架 - props
  7. linux openh264 编译,在Linux下为Android构建openh264
  8. ladder怎么读_ladder 是什么意思_ladder 的翻译_音标_读音_用法_例句_爱词霸在线词典...
  9. JVM 学习四:类加载之双亲委派机制与沙箱安全机制
  10. 在java中null的作用_在java中避免使用!= null有什么好处?