Java 无法运行此程序?
为棒球和板球比赛创建两个BatandBall游戏类的具体类。每个具体类应具有2个新数据成员和2个新成员函数。这两个类中的数据成员和成员函数不应相同Java 无法运行此程序?,java,Java,为棒球和板球比赛创建两个BatandBall游戏类的具体类。每个具体类应具有2个新数据成员和2个新成员函数。这两个类中的数据成员和成员函数不应相同 import java.util.*; abstract class BatAndBallGames { abstract void display(); abstract void rulesSummary(); int PlayersPerTeam; int LengthOfGame; } concrete cl
import java.util.*;
abstract class BatAndBallGames
{
abstract void display();
abstract void rulesSummary();
int PlayersPerTeam;
int LengthOfGame;
}
concrete class Baseball extends BatAndBallGames
{
Baseball(int a,int b)
{
PlayersPerTeam=a;
LengthOfGame=b;
}
void rulesSummary()
{
System.out.println("baseball rules");
}
void display()
{
System.out.println("In baseball PlayersPerTeam=" +PlayersPerTeam + " LengthOfGame=" +LengthOfGame);
}
}
concrete class Cricket extends BatAndBallGames
{
Cricket(int a,int b)
{
PlayersPerTeam = a;
LengthOfGame = b;
}
void rulesSummary()
{
System.out.println("cricket rules");
}
void display()
{
System.out.println("In cricket PlayersPerTeam=" +PlayersPerTeam + " LengthOfGame=" +LengthOfGame);
}
}
public class BatandBall
{
public static void main(String args[])
{
System.out.println("Airtel Champions League");
BatAndBallGames obj = new Baseball(10,3);
obj.display();
BatAndBallGames obj1 = new Cricket(11,8);
obj1.display();
}
}
我们不能用具体的关键字或标识符来定义java中的类。所以错误就来了。 你可以这样试试,它很管用
import java.util.*;
abstract class BatAndBallGames
{
abstract void display();
abstract void rulesSummary();
int PlayersPerTeam;
int LengthOfGame;
}
class Baseball extends BatAndBallGames
{
Baseball(int a,int b)
{
PlayersPerTeam=a;
LengthOfGame=b;
}
void rulesSummary()
{
System.out.println("baseball rules");
}
void display()
{
System.out.println("In baseball PlayersPerTeam=" +PlayersPerTeam + " LengthOfGame=" +LengthOfGame);
}
}
class Cricket extends BatAndBallGames
{
Cricket(int a,int b)
{
PlayersPerTeam = a;
LengthOfGame = b;
}
void rulesSummary()
{
System.out.println("cricket rules");
}
void display()
{
System.out.println("In cricket PlayersPerTeam=" +PlayersPerTeam + " LengthOfGame=" +LengthOfGame);
}
}
class BatandBall
{
public static void main(String args[])
{
System.out.println("Airtel Champions League");
BatAndBallGames obj = new Baseball(10,3);
obj.display();
BatAndBallGames obj1 = new Cricket(11,8);
obj1.display();
}
}
当人们谈论具体的类时,他们只是在谈论可以实例化的类(即您可以创建该类的对象)。这是一个你需要头脑清醒的概念 java中没有
concrete
关键字。默认情况下,类是具体的。这与不能实例化的抽象类
形成对比
- 默认混凝土
- 如果使用了
关键字,则为AbstractAbstract
BatAndBallGame
棒球
和板球
都是蝙蝠和棒球运动的类型,因此从它们扩展而来。我们这样做的原因是因为所有的球拍和球类游戏都有某些属性。然而,有一个类型为BatAndBallGame
的对象是没有意义的——它不是一个可以玩的真正的游戏,就像板球和棒球一样
所以你有:
abstract class BatAndBallGame {}
class Cricket extends BatAndBallGame {}
class Baseball extends BatAndBallGame {}
在提供的代码中,使用“混凝土”作为修饰语是不合适的。正如阿披舍克·拉纳已经提到的,你可以移除它,它应该可以解决问题。如果您使用“concrete”作为类的访问修饰符,您可以去了解更多信息。因此,除了
concrete
不是有效的标识符之外,为什么不能运行它?您在哪里读到的concrete
。欢迎使用堆栈溢出。您已将代码转储到问题中,但未向我们提供任何关于什么不起作用的信息。请阅读-确保您清楚地描述了问题,理想情况下,将代码简化为演示问题的最小示例,并正确格式化。很有可能您的Java编译器已经告诉您为什么无法运行此程序。。。或者至少是其中一个原因。它告诉了你什么,你不明白什么部分?如何创建抽象类的具体类>>就像我在代码中使用的具体关键字一样??实际上问题是..>@MichaelM..>>为棒球和板球比赛创建两个具体的BatAndBallGames类。每个具体类应该有2个新的数据成员和2个新的成员函数。两个类中的数据成员和成员函数不应相同。编写main()方法来创建每个子类的对象,并向它们发送足够的消息来显示这些方法的工作情况。您还可以尝试创建抽象类的对象,以查看编译器打印的消息。是的,我知道。我不是在帮你做作业。我想解释为什么你的解决方案不起作用。