java面向对象,什么是对象,什么是类,如何理解,怎么使用
2017-08-14 10:59
756 查看
面向对象是一种现在最为流行的程序设计方法,几乎现在的所有应用都以面向对象为主了,最早的面向对象的概念实际上是由IBM提出的,在70年代的Smaltalk语言之中进行了应用,后来根据面向对象的设计思路,才形成C++,而由C++产生了Java这门面向对象的编程语言。
类与对象的基本概念:类与对象时整个面向对象中最基础的组成单元。
类:是抽象的概念集合,表示的是一个共性的产物,类之中定义的是属性和行为(方法);
对象:对象是一种个性的表示,表示一个独立的个体,每个对象拥有自己独立的属性,依靠属性来区分不同对象。
可以一句话来总结出类和对象的区别:类是对象的模板,对象是类的实例。类只有通过对象才可以使用,而在开发之中应该先产生类,之后再产生对象。类不能直接使用,对象是可以直接使用的。
现在,我们深入研究什么是对象。
如果考虑到现实世界中,可以发现身边很多对象,汽车,狗,人等,这些对象都有一个状态和行为。
如果我们考虑一只狗,那么它的状态是 :品种. 年龄 . 颜色 它的行为 :吃. 睡 . 跑。
在Java中定义类,使用关键字class完成,在java中我们就可以定义狗
如果软件对象与现实世界中的对象进行比较,它们具有非常相似的特征。
软件对象也有状态和行为。软件对象的状态存储在字段和行为是通过方法如图所示。
因此,在软件开发中,方法上的一个对象的内部状态和操作的对象对对象的通信是通过方法来完成。
类与对象的基本概念:类与对象时整个面向对象中最基础的组成单元。
类:是抽象的概念集合,表示的是一个共性的产物,类之中定义的是属性和行为(方法);
对象:对象是一种个性的表示,表示一个独立的个体,每个对象拥有自己独立的属性,依靠属性来区分不同对象。
可以一句话来总结出类和对象的区别:类是对象的模板,对象是类的实例。类只有通过对象才可以使用,而在开发之中应该先产生类,之后再产生对象。类不能直接使用,对象是可以直接使用的。
现在,我们深入研究什么是对象。
如果考虑到现实世界中,可以发现身边很多对象,汽车,狗,人等,这些对象都有一个状态和行为。
如果我们考虑一只狗,那么它的状态是 :品种. 年龄 . 颜色 它的行为 :吃. 睡 . 跑。
在Java中定义类,使用关键字class完成,在java中我们就可以定义狗
public class Dog {//狗类 状态对应着成员变量,行为对应着成员方法 String breed = "金毛"; //狗的第一个状态:品种 int age = 3; //狗的第二个状态:年龄 String color = '红色'; //狗的第三个状态:颜色 void eat() { System.out.println("我会吃"); //狗的第一个行为:吃 } void sleep() { System.out.println("我会睡觉"); //狗的第二个行为:睡 } void run() { System.out.println("我会跑"); //狗的第三个行为:跑 } }
如果软件对象与现实世界中的对象进行比较,它们具有非常相似的特征。
软件对象也有状态和行为。软件对象的状态存储在字段和行为是通过方法如图所示。
因此,在软件开发中,方法上的一个对象的内部状态和操作的对象对对象的通信是通过方法来完成。
相关文章推荐
- 什么是静态代码块?java中如何使用空参构造方法自动生成不同名字的对象,使用非静态的属性和静态属性有什么区别,原因是什么?如何理解static关键字
- java中collection是什么?怎么理解?怎么使用?
- 关于初学者如何理解面向对象和面向过程的区别以及java中的类和对象
- 第2章 Java编程基础——FAQ2.22 创建String对象时, 使用String s=new String (“abc”)和String s=“abc”语句有什么区别?
- 什么是对象,为什么要面向对象,怎么才能面向对象?
- Java第二课 Java面向对象编程,面向对象编程和面向过程编程的区别,我们如何才能掌握面向对象的编程,类和对象的关系;讲解了Java中的构造、重载、this和super变量、静态变量、Java中的常
- java下Class.forName的作用是什么,为什么要使用它(和new对象的区别)
- 第3章 Java与面向对象——FAQ3.01 什么是类. 对象. 属性和方法?
- java语言面向对象笔记,在学习面向对象时应该理解掌握的原理-作者:逝秋
- 《Thinking in Java 》学习笔记 --- Java内存分配,对象存放到什么地方?怎么放?
- JAVA内存使用--如何计算一个Java对象占用的字节数
- JAVA 内存详解 (理解 JVM 如何使用 Windows 和 Linux 上的本机内存)
- 深入java的equals方法,怎么比较两个对象的内容是否相等?对象的内容指的是什么?
- 你如何理解 HTML5 的 section?会在什么场景使用?为什么这些场景使用 section 而不是 div?
- JAVA内存使用--如何计算一个Java对象占用的字节数
- JAVA里面的对象到底是怎么理解的
- ZODB入门 -- 如何通过面向对象的动态语言 Python 使用对象数据库
- java多态,如何理解父类引用指向子类对象
- 理解并学会使用Java对象序列化
- java面向对象思想如何理解