当前位置: 代码迷 >> Java相关 >> 初学JAVA,关于执行程序的问题
  详细解决方案

初学JAVA,关于执行程序的问题

热度:253   发布时间:2013-03-28 08:49:35.0
初学JAVA,关于执行程序的问题
想问为什么Test.class能执行,TestDuotai.class不能执行(源代码在TestDuotai.java里面)这是源代码

程序代码:

class Animal{
String name;
Animal(String name){
    this.name=name;
    }
public void run(){
    System.out.println("是动物在跑....");
    }
  }

class Dog extends Animal{
    Dog(String n){
        super(n);
    }
    public void run(){
    System.out.println("名字叫"+this.name+",是狗狗在跑....");
    }
   
  }
  
class Cat extends Animal{
    Cat(String n){
        super(n);
    }
    public void run(){
    System.out.println("名字叫"+this.name+",是猫猫在跑....");
    }
   
  }
  
class Man{
    private String name;
    private Animal pet;

    Man(String name,Animal pet){
        this.name=name;
        this.pet=pet;
        }
    public void myPetRun(){
        this.pet.run();
        }
   
     }

class Test{
          public static void main(String args[]){
          Man m1=new Man("wo",new Dog("汪汪"));
          Man m2=new Man("wo",new Cat("咪咪"));
          m1.myPetRun();
          m2.myPetRun();
         
         }
     }


[ 本帖最后由 gujunpu 于 2013-3-28 08:51 编辑 ]
搜索更多相关的解决方案: 源代码  JAVA  动物  

----------------解决方案--------------------------------------------------------
同学,你的Cat和Dog还有Man的类不能在Animal类中的应该分开:
package com.chinasoft.ti;
    class Animal{
        String name;
        Animal(String name){
            this.name=name;
            }
        public void run(){
            System.out.println("是动物在跑....");
            }
          }
class Dog extends Animal{
        Dog(String n){
            super(n);
        }
        public void run(){
        System.out.println("名字叫"+this.name+",是狗狗在跑....");
        }
      
      }
class Cat extends Animal{
        Cat(String n){
            super(n);
        }
        public void run(){
        System.out.println("名字叫"+this.name+",是猫猫在跑....");
        }
      
      }   
class Man{
        private String name;
        private Animal pet;

        Man(String name,Animal pet){
            this.name=name;
            this.pet=pet;
            }
        public void myPetRun(){
            this.pet.run();
            }
      
         }
public class MU{
     public static void main(String args[]){
     Man m1=new Man("wo",new Dog("汪汪"));
     Man m2=new Man("wo",new Cat("咪咪"));
     m1.myPetRun();
     m2.myPetRun();
   
    }
}
结果如下:
名字叫汪汪,是狗狗在跑....
名字叫咪咪,是猫猫在跑....

----------------解决方案--------------------------------------------------------
回复 2楼 Kingbox_tang
"你的Cat和Dog还有Man的类不能在Animal类中的应该分开",不好意思,读了半天也不明白这句话的意思
----------------解决方案--------------------------------------------------------
TestDuotai类没有main函数 接收不到控制台指令,所以不能够执行,和是不是在一个文件里没什么关系。
----------------解决方案--------------------------------------------------------
抱歉,是我完全没注意,因为根本没有编译出一个TestDuotai.class。
----------------解决方案--------------------------------------------------------
昨晚我试了一下,还是将类分成不同的文件比较好使,你这种方法是内部类的结构。
----------------解决方案--------------------------------------------------------
初学者别养成这样的编码风格,这样以后会吃大亏的,java是面向对象的编程好好体会一下,以后学会把自己的代码封装起来,开发中尝试着使用MVC架构,希望这些建议可以帮到你!
----------------解决方案--------------------------------------------------------
  相关解决方案