Loops 继承、增强循环和arraylist未正确运行
我试着把一些东西放在一起,但它不能正常工作。我认为每次通过循环,循环都会为每个类成员更新和继承。相反,它将“成员”方法打印4次Loops 继承、增强循环和arraylist未正确运行,loops,inheritance,arraylist,Loops,Inheritance,Arraylist,我试着把一些东西放在一起,但它不能正常工作。我认为每次通过循环,循环都会为每个类成员更新和继承。相反,它将“成员”方法打印4次 import java.util.ArrayList; public class toolband { public static void noise() { System.out.println("abc"); } static class member extends toolband { public sta
import java.util.ArrayList;
public class toolband
{
public static void noise()
{
System.out.println("abc");
}
static class member extends toolband
{
public static void noise()
{
System.out.println("xyz");
}
}
static class maynard extends member
{
String namemaynard = "maynard";
public static void noise()
{
System.out.println("pow pow");
}
}
static class adam extends member
{
String nameadam = "adam";
public static void noise()
{
System.out.println("da dun da dun");
}
}
static class danny extends member
{
String namedanny = "danny";
public static void noise()
{
System.out.println("smash smash smash");
}
}
static class justin extends member
{
String namejustin = "justin";
public static void noise()
{
System.out.println("womp wa wa wo wo womp");
}
}
public static void main (String [] args)
{
ArrayList <member> members = new ArrayList <member> (4);
member m = new maynard();
member a = new adam();
member d = new danny();
member j = new justin();
members.add(m);
members.add(a);
members.add(d);
members.add(j);
for (member i : members)
i.noise();
}
}
import java.util.ArrayList;
公共类工具带
{
公共静态空隙噪声()
{
系统输出打印号(“abc”);
}
静态类成员扩展了toolband
{
公共静态空隙噪声()
{
System.out.println(“xyz”);
}
}
静态类maynard扩展了成员
{
字符串名称maynard=“maynard”;
公共静态空隙噪声()
{
系统输出打印项次(“pow pow”);
}
}
静态类adam扩展成员
{
字符串名称adam=“adam”;
公共静态空隙噪声()
{
System.out.println(“da dun da dun”);
}
}
静态类成员
{
字符串名称danny=“danny”;
公共静态空隙噪声()
{
System.out.println(“smash-smash”);
}
}
静态类justin扩展了成员
{
字符串名称justin=“justin”;
公共静态空隙噪声()
{
System.out.println(“womp wa wo womp”);
}
}
公共静态void main(字符串[]args)
{
ArrayList成员=新的ArrayList(4);
成员m=新梅纳德();
成员a=新的adam();
成员d=新成员();
成员j=新的justin();
成员.添加(m);
成员.添加(a);
成员.添加(d);
成员.添加(j);
代表(成员一:成员)
i、 噪音();
}
}
有人能帮我理解我做错了什么吗。我应该创建这些静态方法吗?问题是,toolband中的noise方法是静态的。在java中,静态方法不会被重写。
public class toolband {
public void noise() {
System.out.println("abc");
}
}
class member extends toolband {
public void noise() {
System.out.println("xyz");
}
}
class maynard extends member {
String namemaynard = "maynard";
public void noise() {
System.out.println("pow pow");
}
}
class adam extends member {
String nameadam = "adam";
public void noise() {
System.out.println("da dun da dun");
}
}
class danny extends member {
String namedanny = "danny";
public void noise() {
System.out.println("smash smash smash");
}
}
class justin extends member {
String namejustin = "justin";
public void noise() {
System.out.println("womp wa wa wo wo womp");
}
}
要完成此工作,请将noise方法签名更改为public void noise(),并在重写的子类中更改为public void noise(),然后它就可以工作了。
public class toolband {
public void noise() {
System.out.println("abc");
}
}
class member extends toolband {
public void noise() {
System.out.println("xyz");
}
}
class maynard extends member {
String namemaynard = "maynard";
public void noise() {
System.out.println("pow pow");
}
}
class adam extends member {
String nameadam = "adam";
public void noise() {
System.out.println("da dun da dun");
}
}
class danny extends member {
String namedanny = "danny";
public void noise() {
System.out.println("smash smash smash");
}
}
class justin extends member {
String namejustin = "justin";
public void noise() {
System.out.println("womp wa wa wo wo womp");
}
}
非常感谢。我比你高,但因为我是新来的,所以没有记录。非常感谢你的帮助