A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 时光♪微凉 中级黑马   /  2014-5-10 00:27  /  1762 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 时光♪微凉 于 2014-5-10 10:08 编辑

  1. class Car extends Animal{
  2.         @Override
  3.         void chi() {
  4.                 System.out.println("吃鱼");
  5.         }
  6.         XinZang x = new XinZang();
  7.         x.tiaoDong();//编译出错,怎么调用内部类的方法
  8. }

  9. class Dog extends Animal{
  10.         @Override
  11.         void chi() {
  12.                 System.out.println("吃骨头");
  13.         }
  14. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
张然龙 + 1

查看全部评分

3 个回复

倒序浏览
少了部分,按错键了发了
  1. abstract class Animal{
  2.         abstract void chi();
  3.         class XinZang{
  4.                 void tiaoDong(){
  5.                         System.out.println("心脏在跳动");
  6.                 }
  7.         }
  8. }

  9. class Car extends Animal{
  10.         @Override
  11.         void chi() {
  12.                 System.out.println("吃鱼");
  13.         }
  14.         XinZang x = new XinZang();
  15.         x.tiaoDong();//编译出错,怎么调用内部类的方法
  16. }

  17. class Dog extends Animal{
  18.         @Override
  19.         void chi() {
  20.                 System.out.println("吃骨头");
  21.         }
  22. }
复制代码

回复 使用道具 举报
楼主只是一时粗心大意了吧,你怎么可以直接在类里面的new对象呢,你的方法是没有错,只是放错位置了,你想,如果你把它放在这个位置,它是怎样加载进内存的,有是怎样取出来的,学过反射你就知道了,你这样的做法是不合理的,,,这是我个人看法,不知道对你有没有一帮助,如下就可以了
  1. package cn.itheima.Socket;

  2. public class tiaodong {

  3.         /**
  4.          * @param args
  5.          */
  6.         public static void main(String[] args) {
  7.                 // TODO Auto-generated method stub
  8.                 Animal c = new Car();
  9.                 c.chi();

  10.         }

  11. }
  12. abstract class Animal{
  13.         Animal(){}
  14.     abstract void chi();
  15.     class XinZang{
  16.             void tiaoDong(){
  17.                     System.out.println("心脏在跳动");
  18.             }
  19.     }
  20. }

  21. class Car extends Animal{
  22.     @Override
  23.     void chi() {
  24.             System.out.println("吃鱼");
  25.             XinZang x = new XinZang();
  26.             x.tiaoDong();
  27.     }
  28.    // XinZang x = new XinZang();
  29.    
  30.    //super.tiaoDong();//编译出错,怎么调用内部类的方法
  31. }

  32. class Dog extends Animal{
  33.     @Override
  34.     void chi() {
  35.             System.out.println("吃骨头");
  36.     }
  37.    
  38. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
轻语。 + 1

查看全部评分

回复 使用道具 举报
龙健 发表于 2014-5-10 01:00
楼主只是一时粗心大意了吧,你怎么可以直接在类里面的new对象呢,你的方法是没有错,只是放错位置了,你想 ...

好像是的,太冒失了,呵呵
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马