第二章的标题是“一切都是对象”,bruce按照声明对象->定义类->构建java程序的顺序,介绍了不少细节,现将这些知识点梳理如下:
个人总结的思路是(1)定义类->(2)实例化对象->(3)调用对象的方法(向对象发送消息)
(1)定义类
[访问修饰符]class类名{
[访问修饰符][静态修饰符]类型成员变量名;//定义成员变量(字段)
[访问修饰符][静态修饰符]返回值类型成员函数名(参数列表){//定义成员函数(方法)
//方法体
}
}
java中,如果成员变量为基本数据类型,在其定义时若未指定初始值,java也会确保它获得一个默认值,此特点不适用于局部变量。
(2)实例化对象
实例化对象分两部分:定义对象的引用,为对象分配内存空间;两部分可以一起进行,也可以分开进行,例如:
string s = new string("abc");或者
string s;
s = new string ("abc");
引用和指针的相同与不同:二者的相同之处是都指向一块内存,其内容都是内存的地址;但引用的地址在初始化后是没法改变的,而指针是可以重新指定其他内存地址。
通过new的方式为对象分配内存,该内存空间具体指的是堆,java中有垃圾回收器,不需要再去考虑内存释放的问题。
(3)调用对象的方法
在对对象进行实例化后,为了完成具体的功能,便需要调用对象的方法,调用方式是:
对象名.方法名(参数列表);
了解了上述内容还无法构建一个完整的java程序,下面结合一个具体的实例补充其他重要的内容:
//main.java
import java.util.*;
import java.lang.system;//其实这个是自动导入的,这里写出的目的是为了后面对import的描述
/** the first example program.
*display a string and today's date.
*@author :pickuper
*@version:1.0
*/
public class main{
public static void main(string[] args){
hellojava hello = new hellojava();
hello.printcontent();
}
}
public class hellojava{
public void printcontent(){
system.out.println("hellojava");
system.out.println(new date());
}
}
(1)命名自定义类库(包):使用反转域名,使得命名空间唯一。
(2)使用其他类库:通过import导入包,格式参见示例程序,*是通配符,表示包含上级目录包含的全部类。
(3)static:一般情况下,属性和方法是依赖于对象的,即有了实例化的对象,才有了对象的属性,才能调用对象的方法;但用static声明类属性和方法后,二者便不再依赖于对象:对于static属性来说,一个类对应一个属性,即多个对象共享一个数据空间,而static方法则可以通过类名来调用,不需要引用对象名。
(4)注释与javadoc:后面进行详细介绍。
======================================================
在最后,我邀请大家参加新浪APP,就是新浪免费送大家的一个空间,支持PHP+MySql,免费二级域名,免费域名绑定 这个是我邀请的地址,您通过这个链接注册即为我的好友,并获赠云豆500个,价值5元哦!短网址是http://t.cn/SXOiLh我创建的小站每天访客已经达到2000+了,每天挂广告赚50+元哦,呵呵,饭钱不愁了,\(^o^)/