类、抽象类、接口、继承和对象(java)
来源:JAVA 中文站(www_java-cn_com)
这不是什么教材,笔者有时会在论坛上瞧瞧,看到不少初学者问到很多问题,这些问题是 java 程序员应
该懂得的,而一般书上不会讲到或者一笔带过的知识。因此斗胆涂鸦一篇文章,把想说的在这里一口气说
完。这也是本人第一次写技术性的文章,文笔不畅之外,还请各位见谅。
首先讲清楚类和对象的区别。
类是广泛的概念,表示一个有共同性质的群体,而对象指的是具体的一个实实在在的东西。例如,“人”是
一个类,它可以表示地球上所有的人;而“张三”、“李四”、“爱因斯坦”等则是一个个的对象,或者说它们是
“人”这个类的一个个实例。在 Java 中,我们可以定义类,然后创建类的对象。
例如:
// 声明一个类“Human”
class Human{
private String name;
public String getName(){
return name;
}
public void setName(String value){
this.name = value;
}
//......
}
创建一个类:
Human human = new Human();
其次,很多人对对象和对象的引用认识模糊
引用是程序操作对象的句柄,相当于 C 和 C++中的指针。
前面说了,对象是一个实实在在的东西,比如前面的代码:
Human human = new Human();
程序执行到这里之后,java 虚拟机将会在内存中创建一个 Human 对象,并将这个对象的引用赋给
human 变量。这里有两步,首先是创建 Human 对象,然后把创建的对象的引用赋给 human 变量。
如果声明了一个对象的引用,但没有将对象赋值给它,则这个引用指向了空的对象,或者说引用了不存在
的对象。这时如果想通过这个引用访问对象,则会抛出空指针异常,例如:
Human human;
//......
human.setName("张三");
下面重点谈一谈类、抽象类、接口和继承之间的关系
不少细心的初学者在论坛上问类似这样的问题:
评论0