类是JAVA的核心和本质。它也是JAVA语言的基础,因为它定义了对象的本性。如果你有C++的编程经验,你会觉得很容易上手,因为JAVA就是一种类C++语言。从程序语言的本质来说无非分两种,面向过程(C,当然PL/SQL也是)和面向对象(JAVA/C++/VB)。在这里我要提一下数据库编程,从package到function,procedure,是不是也可以把package看成是一个类,而package里包含的function,procedure看成是这个类的method呢?当然是可以的。更让人觉得神奇的是,function注重结果,它有返回值,而且返回的值可以被直接调用,那它是不是可以看成包含有面向对象的思想呢?同样procedure注重处理解决问题的过程,具有很强的逻辑性,是不是又可以看成具有面向过程的思想呢?扯远了。呵呵
一、类
在类和对象的关系上我把文章仔细的看了三遍。理解类最重要的事情就是他定义了一种新的数据类型。一旦定义后,就可以用这种类型来创建该类型的对象。可以把类看成是对象的一个框架,一个逻辑结构,或者说是一个模板,而对象就是类的“物理结构”,它占有内存空间。如下代码创建了一个简单的Box类
class Box {
double width;
double height;
double depth;
}
在这个Box类中,包含了三个实例变量width,height,depth.记住,类可以看成对象的模板这句话。
二、对象
可以用
Box mybox=new Box();
来创建一个Box对象。
上面的代码还可以写成
Box mybox;
mybox=new Box();
new运算符动态的为一个对象分配地址。
在默认的情况下,mybox对象包含了Box类的所有实例变量的拷贝。
下面一段代码创建了BoxDemo对象
class BoxDemo {
public static void main(String args[]) {
Box mybox = new Box();
double vol;
mybox.width = 10;
mybox.height = 20;
mybox.depth = 15;
vol = mybox.width * mybox.height * mybox.depth;
System.out.println("Volume is " + vol);
}
}
运行后的结果如下:
Volume is 3000.0
三、方法
实例变量和方法是构成类最常用的两个要素,其中最常见的方法是main(),然而类的通用格式里并不一定要去指定 main()方法,JAVA类并不需要main()方法,main()方法只有在你定义程序起点的时候要用到。有个很厉害的程序员曾经说过,一个JAVA应用程序甚至只需要一个main()。
一般来讲,方法的type包含两种,即需要返回值和不需要返回值,不需要返回值的方法则必须制定type 为void,如
public void getName(){
System.out.println("OK");
}
而需要返回值的则需要带retrun关键字。如
public int getNumber(){
int a=5;
return a;
}
我们还可以再方法中加入自定义变量,如下面代码
int seq(int i){
return i*i;
}
这是一个通用方法,它可以返回任何正数值的平方。
那在代码中如何调用方法呢?举个很简单的例子
类名.方法名();
就这么简单.