为了账号安全,请及时绑定邮箱和手机立即绑定

instanceof关键字问题

instanceof关键字问题

Oxygen_5 2017-04-19 15:35:42
public class InstanceofKeyWordDemo{ public static void main (String[] args){ Person man = new Men(); say(man); Person women = new Women(); say(women); } public static void say(Person p){ p.say(); //判断p对象是否为Women的实例 if (p instanceof Women){ Women women = (Women)p; women.buy(); } }}abstract class Person{ private String name; public void setName(String name){ this.name = name; } public String getName(){ return name; } public abstract void say();//抽象方法}class Men extends Person{ public void say(){ System.out.println("我是纯爷们!"); }}class Women extends Person{ public void say(){ System.out.println("我是女神经!"); } //本类扩展方法 public void buy(){ System.out.println("是时候改变一下GDP指数了!"); }}运行结果为:我是纯爷们!Exception in thread "main" 我是女神经!java.lang.NoSuchMethodError: Women.buy()V at InstanceofKeyWordDemo.say(InstanceofKeyWordDemo.java:17) at InstanceofKeyWordDemo.main(InstanceofKeyWordDemo.java:10)大神们帮我看看,哪里出错了,谢谢!!!
查看完整描述

3 回答

?
望远

TA贡献1017条经验 获得超1032个赞

复制运行了下,没问题的,楼主clean一下再运行吧。

//img1.sycdn.imooc.com//58f726140001473a09600178.jpg

查看完整回答
1 反对 回复 2017-04-19
  • Oxygen_5
    Oxygen_5
    你看下我回答里面的错误,再复制运行还是这样
  • 望远
    望远
    会不会是你已经创建了Person这个类,把鼠标放上去看看,语法上没有问题啊。
  • Oxygen_5
    Oxygen_5
    哈哈,厉害了!一语惊醒梦中人。 我之前创建过一个person类,把他们放在了同一个包里面了,所以出错了。 哈哈。谢谢大神了!!!
点击展开后面1
?
Oxygen_5

TA贡献1条经验 获得超0个赞

//img1.sycdn.imooc.com//58f7547b0001ed4605530265.jpg我的错误是这样的


查看完整回答
反对 回复 2017-04-19
?
蜂之谷

TA贡献564条经验 获得超863个赞

貌似没错啊

查看完整回答
反对 回复 2017-04-19
  • 3 回答
  • 0 关注
  • 1480 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信