专栏首页Java研发军团Java面向对象介绍

Java面向对象介绍

引言

面向对象,将跟对象有关的功能都封装在其内

面向对象三大特征:封装,继承,多态

找对象,创建对象,使用对象,并维护对象之间的关系。

类:对现实中事物的描述

对象:就是实实在在 存在的事物

映射到java中,描述就是class定义的类

具体对象就是对应java在堆内存中new建立的实体

类与对象:

设计图纸就是类,里面包含对象的描述:比如说车的颜色,轮胎数,发动机....

Note:对象建立的时候,属性值都会先置为null,显式初始化后才会变成具体的值

成员变量VS局部变量:

作用范围:成员变量作用于整个类中;局部变量作用于函数或者语句中;

在内存中的位置:成员变量在堆内存中,由于对象的存在,才在内存中存在;

局部变量在栈内存中;局部变量必须初始化,否则不能运行;成员变量有默认初始化值,因此可以不初始化;当成员变量和局部变量名称一致时,默认使用局部变量

基于对象和面向对象的区别

基于对象:通常指的是对数据的封装,以及提供一组方法对封装过的数据操作。比如 C 的 IO 库中的 FILE * 就可以看成是基于对象的。

面向对象:则在基于对象的基础上增加了多态性。所谓多态,就是可以用统一的方法对不同的对象进行同样的操作。

当然,这些对象不能完全不同,而需要有一些共性,只有存在了这些共性才可能用同样的方法去操作它们。

如果从 C++ 通常的实现方法的角度来看,A 和 B 在继承关系上都有共同的祖先 R ,那么我们就可以把 A 和 B 都用对待 R 的控制方法去控制它们。

面向对象和面向过程到底的本质区别

面向过程:就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。

面向对象:是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。

大白话介绍面向对象和面向过程

面向过程就是将编程当成是做一件事,要按步骤完成,每一步就是一个过程。比如作菜,先放油,接着是放菜进去炒,然后放水,最后菜就做好了。

这里面放油,炒,放水就是三个步骤。

面向对象就是将编程当成是一个事物,对外界来说,事物是直接使用的,不用去管他内部的情况。而编程就是设置事物能够做什么事。其实有点像是将面向过程给放到事物内部了。

仍然举作菜为例:

其实面向过程就好像你是个厨师,要自己炒菜,所以要讲究步骤,而面向对象就好像你是个食客,你只要通知厨师作菜,即发一个消息就可以了,至于厨师怎样作菜,是不用知道的。

本文分享自微信公众号 - Java研发军团(ityuancheng),作者:猿程之家

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-05-18

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 我们在开发中需要遵循的几个设计原则!

    在软件开发中,前人对软件系统的设计和开发总结了一些原则和模式, 不管用什么语言做开发,都将对我们系统设计和开发提供指导意义。本文主要将总结这些常见的原则和具体阐...

    用户5224393
  • 阅读源码的利器 — Intellij IDEA中 Replace in Path 的使用技巧

    2、Preserve case: 如果勾选该按钮,搜索时不区分大小写,但替换的时候,将会把你给定的字符串的首字母替换成小写。

    用户5224393
  • Java面试题-基础篇五

    1、a.hashCode() 有什么用?与 a.equals(b) 有什么关系?

    用户5224393
  • Java 编程思想精华总结(一)- 对象导论(上)

    程序可以通过添加新的对象使自身更适用于某特定问题。因此阅读代码其实也就是在阅读问题的描述。

    JavaEdge
  • JVM 学习笔记(三)

    https://visualvm.github.io/pluginscenters.html --->选择对应版本链接--->Tools--->Visual G...

    会说话的丶猫
  • JVM虚拟机垃圾回收机制

    HotSpot JVM把新生区分为三部分:1个Eden区和2个Survivor区,默认内存大小比例为8 : 1 : 1,一般情况下,新创建的对象都会被分配到Ed...

    万能青年
  • LeetCode - 唯一摩尔斯密码词

    LeetCode第804题,难度简单。莫尔斯码,记是记不住的,但是理解还是能够理解的。

    晓痴
  • 测一测,你是哪种举报侠!

    用户6966869
  • JVM-2. HotSpot虚拟机中的对象

    对象在内存中存储分为三块:对象头(Header)、实例数据(Instance Data)、对齐填充(Padding)

    悠扬前奏
  • JVM实战 - 对象实例化

    Java是面向对象的静态强类型语言,声明并创建对象的代码很常见,根据某个类声明一个引用变量指向被创建的对象,并使用此引用变量操作该对象 在实例化对象的过程中,...

    JavaEdge

扫码关注云+社区

领取腾讯云代金券