脱离IDE后手写java代码的经验总结
1.背景介绍
平时写java代码,基本上都会使用eclipse等IDE软件。因为IDE的帮助,会让自己缺乏对java语音的一些最基本特点的认识。因此,下面使用记事本写一个java程序,在windows的cmd命令行中通过命令进行编译和运行,在此过程中,体会java的一些特性。
2.基本的Hello World实验
2.1实验步骤
1.记事本中编辑JavaMain.java文件,代码如下:
public class JavaMain {
public static void main(String arg[]) {
System.out.println("Hello World");
}
}
2. 进入windows系统的cmd命令行,执行javac JavaMain.java,之后可以看到已经编译生成了JavaMain.class文件,如下图:
3.执行java JavaMain,可以看到程序运行效果如下图:
2.2 问题解决
实验过程中遇到的问题如下:
1.执行java JavaMain命令后,提示找不到JavaMain类,如下图:
解决办法:在当前的cmd命令窗口中执行set classpath=%classpath%;(注意不要漏了最后的分号),再次执行java JavaMain,发现问题已经解决。
是否有不需要set classpath的方法?待调查。
3.涉及多个类的实验
3.1实验步骤
1.记事本中编辑JavaMain.java文件,代码如下:
public class JavaMain {
?? ?public static void main(String arg[]) {
?? ??? ?Base base = new Child();
?? ??? ?base.foo();
?? ?}
}
class Base {
?? ?public Base() {
?? ??? ?System.out.println("Base constructor");
?? ?}
?? ?public void foo() {
?? ??? ?System.out.println("Base foo is called");
?? ?}
}
class Child extends Base {
?? ?public Child() {
?? ??? ?System.out.println("Child constructor");
?? ?}
?? ?public void foo() {
?? ??? ?System.out.println("Child foo is called");
?? ?}
}
2.执行javac JavaMain.java
3.执行java JavaMain,可以看到程序运行效果如下图:
3.2 经验总结
在编写上述程序时,遇到一些问题,总结如下:
1.同一个文件内只能有一个public的类,如JavaMain类;其他的Base和Child类不要写public,也不能写private。什么都不写就对了。
如果三个类都写为public的,编译报错如下图:
如果Base和Child类写为private的,编译报错如下图:
4.三个类分开写的情况
如果把上面的三个类,分别写在三个java文件中,同样是可以执行的。
4.1实验步骤
1.记事本中编辑JavaMain.java、Base.java、Child.java文件,代码如下:
JavaMain.java:
public class JavaMain {
public static void main(String arg[]) {
Base base = new Child();
base.foo();
}
}
Base.java:
public class Base {
public Base() {
System.out.println("Base constructor");
}
public void foo() {
System.out.println("Base foo is called");
}
}
Child.java:
public class Child extends Base {
public Child() {
System.out.println("Child constructor");
}
public void foo() {
System.out.println("Child foo is called");
}
}
2.执行javac JavaMain.java
3.执行java JavaMain,可以看到程序运行效果如下图:
4.2 经验总结
1.多个类的源码文件在同一个目录下,如果使用这个类,是不需要import的。比如上例中,不需要在JavaMain.java文件中,import Base和import Child
如果非要写import,怎样写才对呢?待调查(import Base会编译错误)
Leave a comment