通过在优锐课的ange交流下,掌握了很多编程思想方法 特来分享

对象具有状态和行为

Java中的对象以及其他任何``面向对象''语言都是所有Java应用程序的基本组成部分,代表了你可能在你周围找到的任何现实对象:苹果,猫,汽车或人类。

对象始终具有的两个特征是状态和行为。 考虑一个人对象。 它的状态可能包括头发的颜色,性别,身高和体重,还包括愤怒,沮丧或爱的感觉。 它的行为可能包括散步,睡觉,做饭,工作或其他任何人可能做的事情。

对象构成任何面向对象编程语言的核心。

什么是面向对象编程?

已经写了数百本书来描述面向对象编程的复杂性,但是基本上,OOP基于强调重用和继承的整体方法,从而缩短了开发时间。更传统的过程语言,例如Fortran,COBOL和C,采用自上而下的方法,将任务或问题分解为逻辑,有序的一系列功能。

例如,考虑一个银行使用的简单的ATM应用程序。在编写任何代码之前,Java开发人员将首先创建路线图或计划如何进行的,通常从需要创建的所有对象及其交互方式的列表开始。开发人员可以使用类图来阐明对象之间的关系。在ATM交易中需要使用的对象可能是货币,卡,余额,收据,取款,存款等。这些对象需要共同努力才能完成交易:进行存款应产生余额报告,例如收据。对象将在它们之间传递消息以完成任务。

对象和类

对象是类的实例:这是面向对象编程的关键和重用的思想。 在对象可以存在之前,必须存在一个可以作为对象基础的类。

也许我们想要一本书的对象:确切地说,我们想要这本书《银河旅行者指南》。 我们首先需要创建一个类Book。 此类可能是世界上任何书籍的基础。

它可能看起来像这样:

 public class Book {
String title;
String author; //methods
public String getTitle(
{
return title;
}
public void setTitle()
{
return title;
}
public int getAuthor()
{
return author;
} public int setAuthor()
{
return author;
}
// etc.
}

Book类具有标题,其作者具有允许你设置或获取这些项之一的方法(它也将具有更多元素,但此示例仅为摘录)。 但这还不是对象-Java应用程序无法对其执行任何操作。 需要实例化它才能成为可以使用的对象。

创建一个对象

对象与类之间的关系使得可以使用一个类创建许多对象。 每个对象都有自己的数据,但是其基础结构(即其存储的数据类型和行为)由该类定义。

我们可以从一本书类中创建几个对象。 每个对象都称为该类的一个实例。

图书HitchHiker =新书(“银河系HitchHiker指南”,“道格拉斯·亚当斯”(Douglas Adams));

Book ShortHistory =新书(“几乎所有内容的简短历史”,“ Bill Bryson”);

图书IceStation =新书(“ Ice Station Zebra”,“ Alistair MacLean”);

现在可以使用这三个对象:可以读取,购买,借用或共享它们。

  • > 喜欢这篇文章的可以点个赞,欢迎大家留言评论,记得关注我,每天持续更新技术干货、职场趣事、海量面试资料等等
  • > 如果你对java技术很感兴趣也可以交流学习,共同学习进步。
  • > 不要再用"没有时间“来掩饰自己思想上的懒惰!趁年轻,使劲拼,给未来的自己一个交代
  • 文章写道这里,欢迎完善交流。最后奉上近期整理出来的一套完整的java架构思维导图,分享给大家对照知识点参考学习。有更多JVM、Mysql、Tomcat、Spring Boot、Spring Cloud、Zookeeper、Kafka、RabbitMQ、RockerMQ、Redis、ELK、Git等Java干货

Java对象构成所有Java应用程序的基础的更多相关文章

  1. 201771010113 李婷华 《面向java对象程序设计(Java)》第四章学习总结

    一. 理论知识部分 第四章 对象与类 本章主要讲述面向对象程序设计.如何创建标准Java类库中的类对象.如何编写自己的类. 1.面向对象程序设计的几个主要概念: 抽象数据类型.类和对象.封装.类层次( ...

  2. Spring: 读取 .properties 文件地址,json转java对象,el使用java类方法相关 (十三)

    1. 在Java中获取 .properties 文件的路径 (src/main/resources 下) ProjectName |---src/main/java |---src/main/reso ...

  3. 20155305 2016-2017-2 《Java程序设计》实验四 Android程序开发基础

    实验四 Android开发基础 实验内容 基于Android Studio开发简单的Android应用并部署测试; 了解Android.组件.布局管理器的使用: 掌握Android中事件处理机制 实验 ...

  4. JSON-lib框架,JAVA对象与JSON、XML之间的相互转换

    Json-lib可以将Java对象转成json格式的字符串,也可以将Java对象转换成xml格式的文档,同样可以将json字符串转换成Java对象或是将xml字符串转换成Java对象. 一. 准备工作 ...

  5. jackson java对象和json对象的互相转换

    概述 Jackson框架是基于Java平台的一套数据处理工具,被称为“最好的Java Json解析器”. Jackson框架包含了3个核心库:streaming,databind,annotation ...

  6. Java 对象 引用,equal == string

    以前确实一直没注意这个概念,这次看了帖子才知道. 转载于:https://zwmf.iteye.com/blog/1738574 Java对象及其引用 关于对象与引用之间的一些基本概念. 初学Java ...

  7. Java-Runoob:Java 对象和类

    ylbtech-Java-Runoob:Java 对象和类 1.返回顶部 1. Java 对象和类 Java作为一种面向对象语言.支持以下基本概念: 多态 继承 封装 抽象 类 对象 实例 方法 重载 ...

  8. Android Studio NDK 新手教程(5)--Java对象的传递与改动

    概述 本文主要Java与C++之间的对象传递与取值.包括传递Java对象.返回Java对象.改动Java对象.以及性能对照. 通过JNIEnv完毕数据转换 Java对象是存在于JVM虚拟机中的,而C+ ...

  9. 一个 Java 对象到底有多大?

    阅读本文大概需要 2.8 分钟. 出处:http://u6.gg/swLPg 编写 Java 代码的时候,大多数情况下,我们很少关注一个 Java 对象究竟有多大(占据多少内存),更多的是关注业务与逻 ...

随机推荐

  1. sc 与 net 命令

    查看命令的帮助: help sc 或者 help net net: net start mysql  打开服务 net stop mysql 关闭服务 net pause mysql 暂停服务 sc ...

  2. docker配置搭建gogs

    参考文献: https://www.yeboyzq.com/linux/ruanjiananzhuangweihu/1012.html https://www.jianshu.com/p/d92fd4 ...

  3. CLion快捷键设置

    CLion自动格式化的快捷键默认为Ctrl+Alt+L,代码前后跳转CRTL+ALT+Left或CRTL+ALT+Right 但有时会和系统的快捷键冲突,需要修改CLion里面的快捷键 如图:sett ...

  4. 【新人赛】阿里云恶意程序检测 -- 实践记录10.27 - TF-IDF模型调参 / 数据可视化

    TF-IDF模型调参 1. 调TfidfVectorizer的参数 ngram_range, min_df, max_df: 上一篇博客调了ngram_range这个参数,得出了ngram_range ...

  5. Tomcat中使用JNDI配置各种数据源

    最近接手了一个离职同事的老项目,全是XML配的,看的我贼难受,不过了解下配置原理还是有好处的 1.MySql <Resource name ="cockpitTest" au ...

  6. web框架的基础原理

    http协议 HTTP简介 HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本 ...

  7. Mac下git的安装配置以及gerrit初次使用

    1.Mac下git下载 在终端首次运行git命令,若未安装,会提示下载开发者工具Xcode,根据提示下载即可: 2.查看git版本 git version 2.首次使用git配置 git config ...

  8. C# SQLITE 使用文档

    https://www.devart.com/dotconnect/sqlite/docs/Devart.Data.SQLite~Devart.Data.SQLite_namespace.html 有 ...

  9. Java数列循环左移

    描述 有n个整数组成一个数组(数列).现使数列中各数顺序依次向左移动k个位置,移出的数再从尾部移入.输出移动后的数列元素. 题目没有告诉你n的范围,要求不要提前定义数组的大小. 另外要求定义并使用函数 ...

  10. Avro介绍

    Avro介绍   Apache Avro是一个数据序列化系统. Avro所提供的属性: 1.丰富的数据结构2.使用快速的压缩二进制数据格式3.提供容器文件用于持久化数据4.远程过程调用RPC5.简单的 ...