菜鸟初学Java的备忘录之第一次接触
2008-01-05 08:18:10 来源:WEB开发网核心提示:虽然以前间或的也看了些书籍,但多是隔靴搔痒,菜鸟初学Java的备忘录之第一次接触,上不了正席,绝不敢说自己懂java,那么理所当然我不需要去从其中的任何一个对象去引用它,而只是通过类名引用就可以了嘛.这样不是可以方便的实现一些全局函数和全局变量吗?把所有全局的函数或者全局的变量都定义在一个静态类中,
虽然以前间或的也看了些书籍,但多是隔靴搔痒,上不了正席,绝不敢说自己懂java。 接触一门新的技术和初恋一样,都是第一次,但不同的是后者一般开始无比甜蜜,结局却很痛苦,而前者则往往开始很痛苦,越到后来却越是有味,简直是欲罢不能.现在我就正处于这个很痛苦的阶段,连一个最简单的Helloworld都运行不出来,总是提示Excepion in thread "main" java.lan.NoClassDefFoundError. 只好上网去查,去搜.记性又不好,所以搜出来赶紧保存下来,常备无患。
一般来说安装完JDK之后,一定要按一下步骤配置,才可正确编译运行(假定jdk版本为1.4.0)。
1.将jdk1.4.0-安装在自己机器的某个盘符的根目录下,如:可安装在C:\jdk下。
***(以下出现的c:\jdk改为你自己安装JDK的目录)***
2.假如你的运行环境是win98,则在C盘根目录下,autoexec.bat文件中,加入下面两条语句:
set Path=%PATH%;c:\jdk\bin
set CLASSPATH=.;c:\jdk\lib\dt.jar;c:\jdk\lib\tools.jar保存后,重新启动机器,就完成了jdk1.4的安装。
3.假如你的运行环境是win2000的话,则需在“控制面板”的“系统”下,“高级”选项的“环境变量”中,添加两个用户变量。
其中一个用户变量的名称为“path”,值为“.;d:\j2sdk1.4.0_01\bin”,另一个用户变量的名称为"CLASSPATH",值为“.;d"\j2sdk1.4.0_01\lib\dt.jar;d:\j2sdk1.4.0_01\lib\tools.jar”,单击“确定”即可。即完成了jdk1.4.0的安装。
至于这样做的意义何在,我想应该是让Java系统在编译字节代码(.java)的时候需要一个什么东东的支持,假如你不告诉它这个东东放在哪个地方的话,它就犯傻了?!
看到屏幕上终于显示出Hello world对我来说意义重大.这是我近一年来写的第一个程序!再次踏上程序之路,简直有恍如隔世的感觉,已经快找不准我的位置了。还好原来学的一些关于C++和面向对象的皮毛没忘光光,所以费点周折熟悉了JDK的环境之后,接下来的事情就好办多了,心里也踏实多了。
用String类直接定义字符串变量比起C中讨厌的指针,感觉确实好的多,用惯了Object Pascal的我,假如再回去数* *,真要疯掉不可。
数组的定义和C,C++似乎略有不同,记不清了,先记下来再说
int[] number=new int[5]
String[] message=new String[5]
变量这一部分想起来要交待的也就这么多吧。虽然是菜鸟,但我也知道,总是如谭浩强般在语法上面死抠的人简直是白痴:大多数情况下,漂亮的程序根本不需要无谓的点缀,工工整整,思路清楚就可以了。
倒是对于Java程序的框架我倒想备忘一下,一个简单的java程序似乎是应该是这样的框架:
class PRogramName
{
public static void main(String【】 args)
{
file&://程序的主体
}
public static int othermethod()
{
file&://其它方法
}
}
整个程序在一个大的类中,这个类的概念应该就跟pascal里面的单元差不多的。同pascal一样,文件名也要与单元名-在这里是类名-一样.Java对大小写要求的非常严格,我语法错了好几次都是因为这个.
Java程序就是由一个或者多个或者很多个方法在这样一个大类当中组成的.
在如上的代码中,定义方法的参数表示的意思分别为:
public表示此成员函数是公有的,可以被其他类直接调用 static表示main成员函数在ProgramName类的所有对象中是唯一的,Java将为其分配永久存储空间
关于Static,我想再延伸一下。有时候我们创建一个类,希望这个类的所有实例都公用一个变量,也就是说,所有这个类的对象都只有实例变量的一个Copy.那么这样一个静态实例变量的内存就不能在创建类的实例的时候分配了,因为大家用的都是这么一个,不需要再重新分配.因此Java为其分配永久存储空间。
比如:
class Block{
static int number=50
}
这样定义之后,所有Block类的实例,不管是Block1,还是Block2,它们都访问同一个number.这个number叫做类的变量,而不是实例变量.实际上静态变量又叫做类变量。
继续深入:用Static定义的静态成员函数或者静态变量,可以通过其所属类名来直接调用.为什么可以这样?因为既然这个类的所有对象都是使用的这一个变量,那么理所当然我不需要去从其中的任何一个对象去引用它,而只是通过类名引用就可以了嘛.这样不是可以方便的实现一些全局函数和全局变量吗?把所有全局的函数或者全局的变量都定义在一个静态类中,调用的时候直接通过这一个类名就可以方便的访问所有的全局变量和全局函数了。
定义所有程序都要访问的全局变量需要使用
更多精彩
赞助商链接