我有一个名为DecrementCarousel的超类,它有一个返回一个名为CarouselRun的对象的方法。CarouselRun有自己的方法,我需要在HalvingCarousel中重写,但我不知道如何重写。DecrementCarousel:
public class DecrementingCarousel {
static int [] arr ;
static int capacity;
int counter = 0;
boolean alreadyExecuted = false;
boolean alreadyRun = false;
public DecrementingCarousel(int capacity) {
DecrementingCarousel.capacity = capacity;
arr = new int[capacity];
}
public boolean addElement(int element){
if (alreadyExecuted) return false;
if (counter < capacity && element > 0) {
arr[counter] = element;
counter++;
return true;
}
return false;
}
public CarouselRun run(){
alreadyExecuted = true;
if (alreadyRun) return null;
alreadyRun = true;
return new CarouselRun();
}
}
以下是CarouselRun中的方法:
public class CarouselRun {
int position = 0;
public int next() {
int count = 0;
while (count < arr.length && arr[position %= arr.length] <= 0) {
position++;
count++;
}
if (count == arr.length) return -1;
return arr[position++]--;
}
public boolean isFinished() {
for (int var: arr) {
if (var > 0) return false;
}
return true;
}
}
如何在名为HalvingCarousel的子类中重写这些CarouseRun方法?根据任务,减半转盘只能延长减量转盘
这可以像任何其他简单的继承一样完成。您只需要使用extends
关键字和use annotation@Override
将HavingCarousel类声明为CarouseRun的子类,以声明您要重写父类的方法。
父类:
public class CarouselRun {
int position = 0;
public int next() {
System.out.println("Carousel run implementation of next()");
return 1;
}
public boolean isFinished() {
System.out.println("Carousel run implementation of isFinished()");
return true;
}
}
儿童班:
java prettyprint-override">public class HalvingCarousel extends CarouselRun{
@Override
public int next() {
System.out.println("HavingCarousel implementation of next()");
return 2;
}
@Override
public boolean isFinished() {
System.out.println("HavingCarousel implementation of isFinished()");
return true
}
}
看看你的代码,也值得去探索接口而不是继承。接口通常更灵活,一个类可以实现多个接口,而它只能从一个父类继承,所以如果没有强烈的反对理由,应该使用接口,例如,就我所知,你不会拥有的大部分共享代码。
旋转木马的接口
public interface ICarousel {
public int next();
public boolean isFinished();
}
CarouseRun实现了以下接口:
public class CarouselRun implements ICarousel {
int position = 0;
@Override
public int next() {
System.out.println("Carousel run implementation of next()");
return 1;
}
@Override
public boolean isFinished() {
System.out.println("Carousel run implementation of isFinished()");
return true;
}
}
HalvingCarousel实现接口:
public class HalvingCarousel implements ICarousel{
@Override
public int next() {
System.out.println("HavingCarousel implementation of next()");
return 2;
}
@Override
public boolean isFinished() {
System.out.println("HavingCarousel implementation of isFinished()");
return true;
}
}
通过阅读您的代码,我相信您仍然需要阅读更多关于基本Java概念的内容,如接口、类、继承、静态与实例属性以及修饰符。例如,我不明白为什么要将数组arr
声明为静态,然后在构造函数中对其进行初始化,然后显然要在类CarouselRun
的一个完全不相关的实例中访问数组arr
。这是行不通的,也没有真正意义,但由于这些是基本概念,我无法在这里解释所有这些。
所以基本上我想跟滑头做点这样的事...我想有正常的幻灯片,但事情是,是,我想有行动呼吁(按钮)在他们。这通常很容易将按钮与幻灯片一起放入,但有一个溢出:旋转式播放器上隐藏的样式无法取下,否则其他幻灯片会显示出来。我想知道如何才能做到这一点(按钮稍微往外走而不被切断)。 编辑:添加边框到旋转木马,这是真正的问题,我有...维护边框并使底部与边框重叠
本文向大家介绍js实现旋转木马效果,包括了js实现旋转木马效果的使用技巧和注意事项,需要的朋友参考一下 效果图: 代码如下: 以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持呐喊教程!
我想把velocity.js效果结合到Slick Carousel插件中。 slick:http://kenwheeler.github.io/slick/velocity:http://julian.com/research/velocity/ 这很管用,但有一个奇怪的副作用: 这是我现在得到的密码。所以我做了一个效果序列,它是用钩子beforeChange触发的。 当我转到下一张幻灯片时,它起
本文向大家介绍JavaScript实现旋转木马轮播图,包括了JavaScript实现旋转木马轮播图的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了JavaScript实现旋转木马轮播图的具体代码,供大家参考,具体内容如下 html代码段 图片自己添加,或者使用本人的上传照片,拉到最下面即可看见 css代码段: 初始化 reset js代码段: 这个是封装好的的js代码,直接引用即可
我需要添加猫头鹰轮播到我的网站。 我遵循了说明,并使用css作为默认主题。 它工作完美。然后突然(没有更改代码)默认主题停止工作(在导航上没有主题)... 我一直试图修复它,但我失去了我的想法...我甚至将更改还原到我确信它工作的地方! 而且这不是关于浏览器的,因为我甚至把它上传到了我的服务器上... 我的代码: 和JS: 这似乎很奇怪,它曾经工作了一段时间,然后就停止了…… 任何帮助都将是感激的
我想让用户能够滑动轮播如果在一个ipad的肖像模式,而不是滑动如果在横向模式。 我遵循这个例子是为了改变基于肖像/风景的旋转木马的设置,但它只在某种程度上起作用: 下面的代码适用于页面加载,但不适用于方向更改。 我想我必须重新初始化旋转木马,但我不知道如何。我试着,并用新的设置重新初始化它,但似乎不起作用。