.NET 和java定义的抽象类不同.NET定义的可以直接运行,如下面例子 但放到java里编译不能通过
  public   abstract   class   clsTest   
  {   
        public   int   GetInt()   
        {   return   1;   }   
  }   
  使用时:   
  int   i   =   clsTest.GetInt();   
  而一般的类要用:   
  clsTest   t   =   new   clsTest();   
  int   i   =   t.GetInt();   
  如何把这个修改成java的抽象类

解决方案 »

  1.   

    C#中abstract的方法默认为static?这个倒没注意。。
    那你就把GetInt改成static方法就是了。
      

  2.   

    public abstract class clsTest{
          public  static int   GetInt()   
          {   return   1;   }   
    }
    还是抱错误?
    xception in thread "main" java.lang.Error: Unresolved compilation problem:  at clsTest.GetInt(Class1.java:32)
    at Class1.main(Class1.java:47)
      

  3.   

    java里不能实例化抽象类,静态方法直接使用是可以的
      

  4.   

    修改完成
    bstract class clsTest{
    public  static int  GetInt()  
        {  return  1;  }     
    public abstract void eat();
    }class clsTest2 extends clsTest{
    public void sleep(){
    System.out.println("Dog sleep.");
    }
    public void eat(){
    System.out.println("Dog eat.");
    }}这里奇怪的哦是 
    int   i ;
    clsTest k=null;
    k=new clsTest2();
    k.GetInt();-------对的
    k.sleep();---------错的 ,提示 
    xception in thread "main" java.lang.Error: Unresolved compilation problem: 
    The method sleep() is undefined for the type clsTest at Class1.main(Class1.java:101)