在此示例中如何使用关键字 "super"?
How can I use the keyword "super" in this example?
这是我的超级class...
package com.company;
import java.util.Random;
public class Terning
{
// Make a random number generator for a 10 sided dice.
Random random = new Random();
public void RanNum()
{
for (int i = 0; i < 10; i++)
{
int answer = random.nextInt(10) + 1;
System.out.println(answer);
}
}
}
这是我的子class...
package com.company;
// Extend FlaskTerning to inherit Terning methods
public class FalskTerning extends Terning
{
@Override
// Could be given another name to distinguis between the superclass method and the subclass method
public void RanNum() {
super.RanNum();
// The if-statement I want to make.
if (bla bla bla)
{
answer == 9;
}
}
}
最后,这是我的主要...
package com.company;
// Main method
public class Main {
public static void main(String[] args)
{
Terning terning = new Terning();
terning.RanNum();
}
}
背景故事:我做了一个 'x' 面骰子(这里我们尝试 10 个)和一个“假骰子”。我想实现一个子和超级class(继承)。
问题:如何使子class“FalskTerning”(FalseDice) 获取“Terning”(Dice) 生成的随机数的值并将其放入 if 语句中。示例(如果数字 x 小于 5,则答案为 10)?
此外,我想知道,为什么我不能在我的子class“FalskTerning”的 if 语句中使用我的超级class“Terning”的“答案”。
祝你有愉快的一天!
父 class 方法必须 return 需要解释的内容,因此需要重写。例如:
public class Terning {
public int rollDie() {
return random.nextInt(10) + 1;
}
... other stuff ...
}
现在 subclass 可以调用父方法和 return 不同的值。使用您的示例 return 如果掷骰数小于 5,则为 10,您可以执行以下操作。
public class FalskTerning {
@Override
public int rollDie() {
int roll = super.rollDie();
if (roll < 5) {
return 10;
}
return roll;
}
... other stuff ...
}
这是我的超级class...
package com.company;
import java.util.Random;
public class Terning
{
// Make a random number generator for a 10 sided dice.
Random random = new Random();
public void RanNum()
{
for (int i = 0; i < 10; i++)
{
int answer = random.nextInt(10) + 1;
System.out.println(answer);
}
}
}
这是我的子class...
package com.company;
// Extend FlaskTerning to inherit Terning methods
public class FalskTerning extends Terning
{
@Override
// Could be given another name to distinguis between the superclass method and the subclass method
public void RanNum() {
super.RanNum();
// The if-statement I want to make.
if (bla bla bla)
{
answer == 9;
}
}
}
最后,这是我的主要...
package com.company;
// Main method
public class Main {
public static void main(String[] args)
{
Terning terning = new Terning();
terning.RanNum();
}
}
背景故事:我做了一个 'x' 面骰子(这里我们尝试 10 个)和一个“假骰子”。我想实现一个子和超级class(继承)。
问题:如何使子class“FalskTerning”(FalseDice) 获取“Terning”(Dice) 生成的随机数的值并将其放入 if 语句中。示例(如果数字 x 小于 5,则答案为 10)?
此外,我想知道,为什么我不能在我的子class“FalskTerning”的 if 语句中使用我的超级class“Terning”的“答案”。
祝你有愉快的一天!
父 class 方法必须 return 需要解释的内容,因此需要重写。例如:
public class Terning {
public int rollDie() {
return random.nextInt(10) + 1;
}
... other stuff ...
}
现在 subclass 可以调用父方法和 return 不同的值。使用您的示例 return 如果掷骰数小于 5,则为 10,您可以执行以下操作。
public class FalskTerning {
@Override
public int rollDie() {
int roll = super.rollDie();
if (roll < 5) {
return 10;
}
return roll;
}
... other stuff ...
}