问题1:是关于包路径问题的,如果说 c:\My java 目录中包含2个包文件 Test1 和 Test2 并且2个包中又同时包含 Test 这个类。那么我在编译的时候打 javac -classpath "c:\My java" Test.java 那谁知道到底编译的是那个包的 Test啊??
问题2:为什么要把基本数据类型,封装成相应的数据类?难道是封装之后,封装的数据都变成了相应类的变量值了??以此方便通过类中的方法对其进行操作??
问题3:在一个对象中所持有变量的值,都必须通过构造函数来初始化??那如果说我要创建一个复杂的对象比如人,那么像嘴巴、鼻子、眼睛等等数值怎么初始化?比如每个类型的数值都设置成单独的构造函数,那能调用??

解决方案 »

  1.   

    问题1:这个要根据你引入classpath的顺序来决定,在前面的优先。
    问题2:封装成类其实在在JAVA中是很自然的,因为JAVA本身就是面向对象的,这样做恰好是像面向对象靠近
    问题3: 这个问题太复杂了,呵呵,慢慢回去看基础。基本上来讲,构造函数是一个不错的初始化的好地方,但是不一定都要放在构造函数中来初始化。一个对象要完成初始化,那么必须在他的所有对象成员都完成初始化之后才算完成。这是要点。每个对象都可以有自己的构造函数来初始化。
      

  2.   

    1.没法执行编译 如果Test.java没封装在包中 你需要进入c:\My java\Test1中执行javac
    如果Test.java封装在test1(或test2)中 你进入c:\My java执行javac test1.Test.java2. ?3. 不用啊 你什么都不赋 有的是默认值 有的是null
      

  3.   

    问题一  楼主理解错误,如果指向目录是 c:\test,那么Test.java必须是在这个目录下,否则编译返回失败问题二  将自然数据封装为对象,方便使用类支持方法调用,比如class cast等问题三  必须的属性,从构造函数传入,不是必须的属性,设置方法用于读取和设置
      

  4.   

    1,你可以打javac -classpath "c:\My java" *.java或进入包中javac test1.test.java
    2、将1楼和3楼的答案加起来
    3、将1楼和3楼的答案都对 
      

  5.   

    1.貌似都不会被编译 难道不报错吗?
    2.为的是面向对象 java保留8种基本数据类型 只是为了适应程序员心中根深蒂固的习惯
    3.不一定非要在构造方法中一次行完成所有数据的初始化。
      

  6.   

    问题一  楼主理解错误,如果指向目录是 c:\test,那么Test.java必须是在这个目录下,否则编译返回失败 问题二  将自然数据封装为对象,方便使用类支持方法调用,比如class cast等 问题三  必须的属性,从构造函数传入,不是必须的属性,设置方法用于读取和设置
      

  7.   

    问题一  楼主理解错误,如果指向目录是 c:\test,那么Test.java必须是在这个目录下,否则编译返回失败 问题二  将自然数据封装为对象,方便使用类支持方法调用,比如class cast等 问题三  必须的属性,从构造函数传入,不是必须的属性,设置方法用于读取和设置 同意
      

  8.   

    问题1:这个要根据你引入classpath的顺序来决定,在前面的优先。 
    问题2:封装成类其实在在JAVA中是很自然的,因为JAVA本身就是面向对象的,这样做恰好是像面向对象靠近 
    问题3: 这个问题太复杂了,呵呵,慢慢回去看基础。基本上来讲,构造函数是一个不错的初始化的好地方,但是不一定都要放在构造函数中来初始化。一个对象要完成初始化,那么必须在他的所有对象成员都完成初始化之后才算完成。这是要点。每个对象都可以有自己的构造函数来初始化。