1.Package
对文件进行唯一命名,并给文件一个目录。
通常用网址倒叙表示,如:
com.infowarelab
一个study文件可能存在 D:...src / com / infowarelab 文件夹中
但运行时必须在src文件夹下通过 java.com.infowarelab.study 来运行
2.命令行状态下执行java HelloWorld
* error as follows
C:\zsy-study\android\HelloWorld\bin\zsy\study>cd
C:\zsy-study\android\HelloWorld\bin\zsy\study
C:\zsy-study\android\HelloWorld\bin\zsy\study>java HelloWorld
Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorld (wrong nam
e: zsy/study/HelloWorld)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
at java.net.URLClassLoader.access$000(URLClassLoader.java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
reason:
HelloWorld前有package:zsy.study. 如需如此使用则应没有package
3.main下执行方法问题
package zsy.study;
public class HelloWorld {
public static void main(String[] argvs){ //static:静态的
System.out.println("Hello World!");
for (int i=0; i<argvs.length; i++) {
System.out.println(argvs[i]);
}
hi();
HelloWorld hw = new HelloWorld();
hw.hello();
}
static void hi() {
System.out.println("Hi");
}
}
由于是static方法,使用时没有具体对象,它调用的方法也应是static方法。
如需使用non-static方法:
package zsy.study;
public class HelloWorld {
public static void main(String[] argvs){
System.out.println("Hello World!");
for (int i=0; i<argvs.length; i++) {
System.out.println(argvs[i]);
}
HelloWorld hw = new HelloWorld();
hw.hello();
}
void hello() {
System.out.println("Hello");
}
}
如上,可创建HelloWorld的对象实例hw,这样就可以通过实例调用non-static方法hello()
static方法:静态的,不需要实例对象的方法,相当于某个类的自带方法,而不是这个类对应对象的属性。
4.debug界面
5.JAVA实用教程4.3 p114
对于对象实例:
car1 = car2;
由于car1,car2都是对象的地址,这么做相当于把car2的对象地址给car1,这2个地址都引用相同的一个对象。但它们之间没有关系。
Q:
class HelpClassDemo {
public static void main(String args[])
throws java.io.IOException {