写在前面的话:作为一个IT人,我认为当我们想学习一个东西,不管是语言还是算法,不管是新的还是旧的,只要你想,就大胆去学!学习,从现在开始,想到就去做,永远都不晚!这句话也同样送给我自己!
今天来说一说JAVA的“类”,本文比较适合初学者,大神可一笑而过。
java类的结构
一说到“类”,在网上就能找到很多关于它的资料,包括写法、结构等等,分析的非常细致。而我更倾向于用最简单的例子,说下“类”以及它和“对象”之间的关系。
记得上小学的时候,我们学过三角形,那么三角形是怎么定义的呢?由不在同一直线上的三条线段首尾顺次相接组成的图形叫三角形。那么这个定义,就是一个“类”,它把符合这个规则的图形都统一定义为三角形。
各种三角形
然后我们发现,符合这一规则的,有等边三角形、等腰三角形、直角三角形等等,那么这些形状不一的三角形,就是这个“类”的“实例”,或者说“对象”,他们有很多共同的特征,比如有相同的边长数,有相同的内角和等等。
用专业一点的话来说,类就是对象的模板(template ),而对象就是类的一个实例(instance)。也就是说,一个对象就是一个类的实例,所以我们经常看到object 和instance 这两个词可以互换使用。在文章开头的图里面,类名称后面的大括号里,都是对这个类的描述和定义,如同三角形的定义一样。
那么这样定义一个“类”的作用是什么呢?还是拿三角形举例子。我们在学习了三角形以后,去描述这么一个形状时,不会费劲的说“哦,这是一个由三段线首尾相连组成的一个图形……”,而是脱口而出:“这是一个三角形”。这个时候,“三角形”这个“类”就被我们引用了。所以为啥要定义这个“类”?答案就是,方便程序在后面的引用。
好了,概念性的东西先说到这儿,我们看看代码吧,结合代码可能更好理解。
定义了一个名为box 的类,它定义了3个变量:width,height 和depth 。
class Box
{
double width;
double height;
double depth;
}
记住,类声明只是创建一个模板(类型描述),并不会创建一个实际的对象。因此,上述代码不会生成任何Box 类型的对象实体。要真正创建一个Box 对象,你必须使用下面的语句:
Box mybox = new Box(); // 创建一个新的对象,命名为mybox
这个语句执行后,mybox 就是Box的一个实例了,new Box()就是一种调用。mybox被创建以后,就会包含width、height、depth这三个变量。
盒子的体积计算公式
现在我要利用这个特性,写一段程序,计算出这个Box的体积,代码如下:
class BoxDemo
{public static void main(String args[])
{ Box mybox = new Box();
double vol; // 定义一个变量vol,是double 型的,作为盒子的体积
mybox.width = 10;
mybox.height = 20;
mybox.depth = 15; //给mybox里面的变量赋值
vol = mybox.width * mybox.height * mybox.depth; //算出盒子的体积System.out.println("Volume is " + vol); //输出结果
} }
提示:包含该程序的的文件应命名为BoxDemo.java,因为main( ) 方法在名为 BoxDemo 的类中,而不是名为Box 的类中。当你编译这个程序时,你会发现生成了两个“.class ”文件,一个叫box.class ,另一个叫BoxDemo.class,要运行这个程序,你必须执行BoxDemo.class 。运行该程序后,你会看见如下输出:
Volume is 3000.0
好了,对于初学者来说,这篇文章应该很好理解,除了后面的代码那里有点枯燥,但是这段代码算是非常基础了,如果小伙伴们还有什么疑问,欢迎在留言区讨论哦!