2013年3月18日,已经两天没有接触JAVA了,现在继续学习,跟上脚步~GOGOG!
这次从类的定义开始。
part1:基本概念:
一:类:
如果一切都是对象,是什么确定了对象的类型?你可能期望有一个名为“type”的关键字,当然它必须还要有相应的含义。
大多数面向对象的程序设计语言习惯用关键字“Class”,来表示
class ATypeName{/*Class body goes here*/}
这样一个类就创建了,
可以使用
ATypeName a = new ATypeName();
来创建这种类型的对象;
二:域和方法
一旦定义了一个类,就可以在类中设置两种类型的元素,域,和方法;
域,可以使任何类型的对象,可以通过其引用与其进行通讯;也可以是基本类型中的一种;
如果域是一个对象的引用,那么你必须用一种被称为构造器的特殊方法进行初始化,以便使其与一个实际的对象相关联。
但若是一种基本类型,则可在类中域被定义处进行初始化。
每个对象都有用来存储它的域的空间;域不能在对象间共享,
比如,下面是一个具有某些域的类:
class DataOnly{
int i;
float f;
boolean b;
}
虽然这个类什么都不能做,但是可以创建一个它的对象;
DataOnly d = new DataOnly();
你可以给域赋值:
d.i = 47;
d.f = 1.1f;
d.b = false;
你想修改的数据也有可能位于对象所包含的其它对象中。在这种情况下,只需要在使用连接句点即可。
例如:
myPlane.leftTank.capacity = 100;
DataOnly 类除了保存数据外不能再做更多的事情,因为它没有任何成员方法。(不是很懂了~)
三:基本成员默认值:
若类的某个成员是基本数据类型,即使没有进行初始化,Java 也会确保它获得一个默认值。
如下表所示:
千万要小心:当变量作为一个类的成员使用时,Java 才确保给定其默认值,以确保那些是基本类型的成员变量得到初始化(C++没有此功能)
,防止产生程序错误。但是,这些初始值对你的程序来说,可能是不正确的,甚至是不合法的。所以最好明确地对变量进行初始化。
然而上述确保初始化的方法并不适用于“局部”变量(即并非是某个类的属性)。
四:方法(Method)、参数(argument)、返回值(return value)
1.方法:
许多程序设计语言(像 C 和 C++)用“函数(function)”这个术语来描述命名子程序。而在Java 里却常用“方法(method)
”这个术语,来表示“做某些事情的方式”。
Java 的方法决定了一个对象能够接收什么样的消息。
方法的基本组成部分包括:名字、参数、返回值和方法体。下面是它最基本的形式:
returnType methodName(/*Argument list*/){/*Method body*/
}
返回类型是指调用方法后返回的数据类型。
参数表列出了要传给方法的类型和名称信息。
方法名和参数表的组合在一起唯一地标识某个方法。
Java中的方法只能作为类的一部分来创建。方法只有通过对象才能被调用 ,且这个对象必须能执行这个方法调用。
如果试图在某个对象上调用并不具备的方法,那么在编译时,就会得到一条错误消息。
通过对象调用方法时,需要先列出对象名,紧接着是句点,然后是方法名和参数表.
objectName.methodName(arg1, arg2, arg3);
例如,假设有一个方法 f(),不带任何参数,返回类型是 int。如果有个名为 a 的对象,可以
通过它调用 f(),那么你就可以这样写:
int x = a.f();
返回值的类型必须要与 x 的类型兼容
这种调用方法的行为通常被称为“发送消息给对象”。在上面的例子中,消息是 f( ),对象是a。
面向对象的程序设计通常简单地归纳为“向对象发送消息”。
2.参数列表(argument list)
方法的参数列表指定了要传递给方法什么样的信息。
在参数列表中必须指定每个传入对象的类型及名字;
像Java中任何传递对象的场合一样,这里传递的实际上也是引用 ,并且引用的类型必须正确。
3.返回值(return value)
它包括两方面:首先,它代表 “已经做完,离开此方法”。
其次,如果此方法产生了一个返回值,这个值要放在 return 语句后面。
五:你的第一个JAVA 程序
基本知识学习完,之后开始真刀真枪的干一场了;
开始写第一个JAVA程序;
import java.util.*;
public class HelloDate{
public static void main(String[] args)
{
System.out.println("Hello, it's :");
System.out.println(new Date());
}
}
1.在每个程序文件的开头,必须声明import语句,以便引入在文件代码中需要用到的所有额外类。
编译的结果就是打印当前的时间;