脱离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文件,如下图:

pic1

3.执行java JavaMain,可以看到程序运行效果如下图:

pic2

2.2 问题解决

实验过程中遇到的问题如下:

1.执行java JavaMain命令后,提示找不到JavaMain类,如下图:

pic3

解决办法:在当前的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,可以看到程序运行效果如下图:

pic4

3.2 经验总结

在编写上述程序时,遇到一些问题,总结如下:

1.同一个文件内只能有一个public的类,如JavaMain类;其他的Base和Child类不要写public,也不能写private。什么都不写就对了。

如果三个类都写为public的,编译报错如下图:

pic5

如果Base和Child类写为private的,编译报错如下图:

pic6

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,可以看到程序运行效果如下图:

pic4

4.2 经验总结

1.多个类的源码文件在同一个目录下,如果使用这个类,是不需要import的。比如上例中,不需要在JavaMain.java文件中,import Base和import Child

如果非要写import,怎样写才对呢?待调查(import Base会编译错误)

Leave a comment

Your email address will not be published.