禽流感之际,本菜鸟冒死出来提问,问题太菜也请不要报告防疫部门。1。java的类声明中能不能分段一次性写入访问限制修饰符?就像C++那样,“private:”后面全是私有量,“public:”后面全是公有量。java这样每个前面都要写,碰上100个私有量,还不累死?2。java类里没有预声明吗?以前用过delphi和c++,都是在类定义的前面把要涉及到的方法先预声明一下。感觉java这种声明即定义的写法,有些像c++的内联函数。如果类结构复杂,不借助IDE,找起来是不是太乱了,某个函数的定义可能隐藏在好几页代码中的某个角落里,不像c++那样,瞅一眼头文件就都明白了。3。java可不可以编3D游戏?有没有DirectX或者OpenGL这样的图形库?据说现在java编游戏很火,怎么个编法?每个问题10分,谢谢拉!

解决方案 »

  1.   

    1、复制粘贴。
    2、import 导入需要的包。
    3、可以,这个涉及j2me,所以我不清楚。
      

  2.   

    1.不需要复制粘贴。直接
    private int i,j,k;//都是private的.其它public同理
    2.不需要像delphi一样先声明.
    java是一种完全面向对象的..所以每个类中最好不要写很多方法.因为他把每一种可以分开的东西都看成一个对象。。这像你可以分很多对象出来。。每个类中的方法就少了。
    如果非要写很多方法。你可以采取先建一个接口的方法如下
    interface A
    {
     public void print();
     public void show();
     .....
    }然后在你需要实例的类里面实现这些方法

    class B implements A
    {
     public void print(){....//具体代码;}
     public void show(){...具体代码}}这样的话。就相当于先声明了一样.声明全在A里面..你要查找直接到A里找就方便多了..
    3 完全可以
      

  3.   

    Java鼓励你把类划分的细小一些,然后用包来组织你写过的类;
    因为包是分层结构,所以允许类名的重复;
    当你需要引用包中的类时,只要import 包名.类名;(注意包名是分层的)
      

  4.   

    但我还是觉得语言之间别这么比,否则多浪费精力啊。
    (1)Java的函数实现体都是写在类中的,如果可以像C++那样一个public/private管多个,那隔开两三个函数之后,你就搞不清楚谁是private,谁是public了,万一中间再被人插几个进来,就彻底乱套了。
    (2)C++的预声明最最主要的目的并不是为了好看。而是C++的目标文件(比如obj,lib,dll,exe等)中没有足够的元数据,如果没有定义类的头文件,那么别的源文件或模块就很难使用这个类,而如果有了,这个类用起来就很方便——include一下就可以了,以以C++几乎每个类都会有预声明。但Java不需要这个,Java编译器编出来的.class文件里有足够多的元数据,所以不管是智能IDE、编译器,还是JVM,只要有了.class(或打包后的jar,当然最终也是需要解开)文件,就知道了跟某个类有关的一切。
      

  5.   

    还有,C++如果不借助IDE,找函数的实现体也并没有你说有那么简单吧。楼主你好像偷换了概念,把“Java中寻找方法的实现体”跟“C++中寻找方法的声明”做起比难易比较来了。
    C++中的类方法的实现体,理论上还不一定在哪个cpp文件中呢。
      

  6.   

    好像有个Java 3D的库, 不过要想用Java编D3D, OpenGL的游戏, 不大可能也没有意义, 因为3D游戏对性能的要求太高了, 用C++也只是用了Class, 一些高级OO特性也不大用, 都是为了提高性能, 而且引擎一般是用纯C写的
      

  7.   

    JAVA已经开发出来了QUAKE2 效果很不错的. FPS数也足够.