类数组

haisenmai 2005-04-01 11:26:20
新建一个类数组之后,可以重写原来的类方法吗?
public class a
{
public static void main(String args[])
{
b p[]=new b[26];
for (int i=0;i<26;i++)
p[i]=new b();
}
}
interface pub
{ void p1();}

class b implements pub
{public void p1(){ System.out.println("******");}
}
比如我想让p[1]的p1()方法重写为System.out.println("........")怎么写?
...全文
119 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
Dan1980 2005-04-01
  • 打赏
  • 举报
回复
不明白什么叫"类数组".

根据楼主所说:
-----------------------------------
我想让一系列类为pub 接口设计出不同的方法 这些类放到一个数组里面 看来p[]是一个对象数组不是类数组 对吗?
-----------------------------------

完全可以用多态实现啊.

interface Pub {
void p1();
}

class A implements Pub {
public void p1() {
System.out.println("A.p1()");
}
}

class B implements Pub {
public void p1() {
System.out.println("B.p1()");
}
}

public class Test {
public static void main(String args[]) {
//声明类型为接口Pub的数组
Pub[] pub = new Pub[2];
pub[0] = new A(); //将new A()向上转型为Pub
pub[1] = new B(); //将new B()向上转型为Pub
}
}

DreamDragon_NEU 2005-04-01
  • 打赏
  • 举报
回复
设计模式里有,不过最近好就没看了
楼主再问问别人吧~~~
haisenmai 2005-04-01
  • 打赏
  • 举报
回复
有类数组吗?怎么实现啊
DreamDragon_NEU 2005-04-01
  • 打赏
  • 举报
回复
是的~~~
因为你已经进行实例化了 p[i]=new b();
haisenmai 2005-04-01
  • 打赏
  • 举报
回复
我想让一系列类为pub 接口设计出不同的方法 这些类放到一个数组里面 看来p[]是一个对象数组不是类数组 对吗?
DreamDragon_NEU 2005-04-01
  • 打赏
  • 举报
回复
p[1]是一个对象,难道对象可以重写实例化它的类的方法,不太可能吧
不知道楼主想有什么样的实际用途
不过楼主可以考虑为b类定义不同的p1方法,然后在由传入不同的参数实现~~~
Dan1980 2005-04-01
  • 打赏
  • 举报
回复
没有继承, 哪来重写?

创建一个新的类c, 让c继承b, 在c里面重写p1(), 然后再把p[1]声明为c的实例就行了.
haisenmai 2005-04-01
  • 打赏
  • 举报
回复
thanks
WinFastNcr 2005-04-01
  • 打赏
  • 举报
回复
milkbottle 2005-04-01
  • 打赏
  • 举报
回复
数组是不行的, 不过容器可以, 比如 ArrayList, Vector 都可以不容的类事例。

但是你要想批量定义不同的类,那是做不到的。
建议你先定义一个父类,把大多数共有的方法先实现了, 然后再有子类继承他,复写一下自己的方法,就少了很多重复的代码了
haisenmai 2005-04-01
  • 打赏
  • 举报
回复
我的意思是
class A implements Pub {
public void p1() {
System.out.println("A.p1()");
}
}

class B implements Pub {
public void p1() {
System.out.println("B.p1()");
}
}
这样分别声明类A,B太麻烦了 因为接口里面有好多方法 而且要声明的类也好多 能不能一下子搞出好多类 就象数组一样 把A,B划到一个数组里面去啊 就象pub[]一样

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧