.NET 和java定义的抽象类不同

lilinew 2009-08-03 11:09:26
.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的抽象类
...全文
78 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
lilinew 2009-08-03
  • 打赏
  • 举报
回复
上面错误说明抽象类的特点
lilinew 2009-08-03
  • 打赏
  • 举报
回复
修改完成
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)
zhuzhusany 2009-08-03
  • 打赏
  • 举报
回复
java里不能实例化抽象类,静态方法直接使用是可以的
老张-AI 2009-08-03
  • 打赏
  • 举报
回复
。。这 还真不知道
lilinew 2009-08-03
  • 打赏
  • 举报
回复
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)
晨星 2009-08-03
  • 打赏
  • 举报
回复
C#中abstract的方法默认为static?这个倒没注意。。
那你就把GetInt改成static方法就是了。

62,628

社区成员

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

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