Java面向对象入门之 类与对象的概念区别
2008-03-01 21:05Update
Java是一种面向对象的程序设计语言(Object Oriented Programming:OOP),面向对象的程序设计语言中有类和对象的概念,它们在概念上有什么区别呢?
这往往是一个令面向对象的初学者感到迷惑的问题。
下面的解说虽然针对的是Java语言,但对所有面向对象的程序设计语言都通用。
在面向对象的程序设计语言中,类是对一类“事物”的属性与行为的抽象。
举一个浅显的例子。Person(人)是对地球上所有具有特殊智能的生物包括你,我,他,张三,李四等的抽象。
“你”,“我”,“他”,“张三”,“李四”等等都属于“人”这一类所包含的个体。
Java语言中对类Person的定义往往如下:
public class Person {
private String name; //属性:姓名
private int height; //属性:身高
private int weight; //属性:体重
public Person() {}
public Person(String name, int height, int weight) {
this.name = name;
this.height = height;
this.weight = weight;
}
//... some methods...
public void doSth() { //行为:
//... do something
}
}
简单一点说,对象是类的具体的个体。比如,张三是类Person的一个对象。Person可能存在无数个对象(就好像地球上存在数十亿人一样)。
Java中,对象的创建可以使用new来创建一个对象。比如:
Person zhangsan = new Person("Zhangsan", 170, 65); //创建对象:“Zhangshan”
zhangsan.doSth(); //对象行为:对象自己发出行为
类和对象的区别
1,类是一个抽象的概念,它不存在于现实中的时间/空间里,类只是为所有的对象定义了抽象的属性与行为。就好像“Person(人)”这个类,它虽然可以包含很多个体,但它本身不存在于现实世界上。
2,对象是类的一个具体。它是一个实实在在存在的东西。
3,类是一个静态的概念,类本身不携带任何数据。当没有为类创建任何对象时,类本身不存在于内存空间中。
4,对象是一个动态的概念。每一个对象都存在着有别于其它对象的属于自己的独特的属性和行为。对象的属性可以随着它自己的行为而发生改变。
类和对象的关系图:

有关Java中的类,接口的详细解说: Java语言里的包,类,接口
下面的解说虽然针对的是Java语言,但对所有面向对象的程序设计语言都通用。
什么是类
在面向对象的程序设计语言中,类是对一类“事物”的属性与行为的抽象。
举一个浅显的例子。Person(人)是对地球上所有具有特殊智能的生物包括你,我,他,张三,李四等的抽象。
“你”,“我”,“他”,“张三”,“李四”等等都属于“人”这一类所包含的个体。
Java语言中对类Person的定义往往如下:
public class Person {
private String name; //属性:姓名
private int height; //属性:身高
private int weight; //属性:体重
public Person() {}
public Person(String name, int height, int weight) {
this.name = name;
this.height = height;
this.weight = weight;
}
//... some methods...
public void doSth() { //行为:
//... do something
}
}
什么是对象
简单一点说,对象是类的具体的个体。比如,张三是类Person的一个对象。Person可能存在无数个对象(就好像地球上存在数十亿人一样)。
Java中,对象的创建可以使用new来创建一个对象。比如:
Person zhangsan = new Person("Zhangsan", 170, 65); //创建对象:“Zhangshan”
zhangsan.doSth(); //对象行为:对象自己发出行为
类和对象的关系
类和对象的区别
1,类是一个抽象的概念,它不存在于现实中的时间/空间里,类只是为所有的对象定义了抽象的属性与行为。就好像“Person(人)”这个类,它虽然可以包含很多个体,但它本身不存在于现实世界上。
2,对象是类的一个具体。它是一个实实在在存在的东西。
3,类是一个静态的概念,类本身不携带任何数据。当没有为类创建任何对象时,类本身不存在于内存空间中。
4,对象是一个动态的概念。每一个对象都存在着有别于其它对象的属于自己的独特的属性和行为。对象的属性可以随着它自己的行为而发生改变。
类和对象的关系图:
有关Java中的类,接口的详细解说: Java语言里的包,类,接口
- Relative Articles
- Java String处理入门 - null或空值的判断处理 - (2008-03-04 15:44)
- Java static - 静态(全局)方法与静态变量 - (2008-03-02 00:12)
- 初识Java语言的 assert关键字 - (2008-02-05 00:31)
- Java语言对properties资源文件的处理 - ResourceBundle类的用法 - (2008-02-05 00:05)
- 怎么向一个命令行Java程序传递参数 - Java入门之命令行参数传递 - (2008-01-31 20:59)
- Java语言的参数传递和处理方法 - 全面掌握Java参数传递与参数 - (2008-01-31 20:57)
- Java日期.时间处理之Date类 - 全面掌握Java里的日期处理 - (2008-01-31 20:53)
- Java基础之 Java注释 - (2008-01-26 15:35)
- Java基础之屏幕打印语句:print()/println() - (2008-01-26 14:46)
- Java语言的克隆与深层次克隆技术入门与精通 - (2007-11-13 17:44)
- Java的历史和发展 - (2007-11-13 00:29)
- Java语言里的包,类,接口 - (2007-11-13 00:27)
- 环境篇 - 构造Java开发环境 - (2007-11-13 00:24)
- Java语言的操作符 - (2007-10-23 11:36)
- Java语言里的数据类型,变量 - (2007-10-22 15:55)