声明:本文首发于我的个人微信公众号【Java编程社区】,查看更多文章与学习资源请移步我的公众号Java编程社区

万物皆对象

学习Java,我们都听过这句话:万物皆对象。那么什么是对象?

我们先来看看人类是怎么认识世界的,人类不断的接触到世界上的各种生物,通过长期的观察,把具有公共特性的生物进行分类,这样就给每类动物一个统称,比如牛、马、老虎等,单独从老虎的角度讲,世界上又有千千万万个老虎,它们都是这个世界上具体的某一个生物。我们在现实生活中,是通过具体的某个事物归纳总结他们的公共特性然后产生类。

对象:在现实生活中存在的具体的一个事物。
类:对某种类型事物的公共属性与行为的抽取。

  • 人类认识世界:对象——>类
  • 在Java中: 类——>对象

Java中描述事物通过类的形式体现,类是具体事物的抽象,概念上的定义。
对象既是该类事物实实在在存在的个体。

类与对象的关系图

类就是汽车
汽车A、B、C就是堆内存中的对象。

面向对象与面向过程对比

举个生活中买电脑的例子

  • 面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。
  • 面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。

面向对象的特征

  • 封装
  • 继承
  • 多态

开发的过程:其实就是不断的创建对象,使用对象,指挥对象做事情。

设计的过程:其实就是在管理和维护对象之间的关系。

关于面向对象的特征,在后续的文章中我会详细讲。

使用Java来描述事物

案例:通过Java语言定义一个汽车类,并生产出汽车,有颜色、轮胎个数,有运行的功能。
分析:
如何描述现实生活中的事物,描述该事物的属性和行为,汽车具有颜色和轮胎数的属性,具备运行的行为。
如何使用Java语言进行转换?
根据对应关系:
属性:类中的成员变量
行为:类中的成员函数
那么定义Java类就是定义一个类的成员。汽车类具备的成员是颜色,轮胎数,运行方法。

public class Car {String color;//成员变量int num;//成员变量//成员函数void run(){System.out.println(color + "的车,轮胎数: " + num + "个,跑起来了");}
}

对象的创建
创建Car对象

public class CarDemo {public static void main(String[] args) {//java中创建对象,使用new关键字在堆内存中开辟了空间,产生了一个实体。//为了方便使用生产的汽车,就起了一个名字car//car是Car类型,叫做类变量Car car = new Car();        //使用对象的功能car.run();}
}

对象成员的调用

public class CarDemo {public static void main(String[] args) {Car car = new Car();//对象名.成员变量名将返回成员变量中存储的数值int num = car.num;System.out.println(num);        //对象名.成员变量名也可以给成员变量赋值car.num = 4;car.color = "black";        //对象名.成员方法car.run();}
}

今天就分享到这,后续会继续分享,敬请期待!
声明:本文首发于我的个人微信公众号【Java编程社区】,查看更多文章与学习资源请移步我的公众号Java编程社区

Java学习笔记——面向对象 1相关推荐

  1. Java学习笔记——面向对象

    声明:文章首发于我的个人微信公众号Java编程社区,查看更多文章与学习资源请移步我的公众号Java编程社区 万物皆对象 学习Java,我们都听过这句话:万物皆对象.那么什么是对象? 我们先来看看人类是 ...

  2. 【Java】Java学习笔记(2)——Java面向对象基础作业函数题

    本人私人博客:Megalomania,大部分文章会现在博客上传,有不足之处欢迎指正. 学校小学期Java课程的练习题,留个档便于以后需要时候有例子可以回忆,写的烂的地方请多多包含 1.求两个数值之和 ...

  3. Java学习笔记 六、面向对象编程中级部分

    Java学习笔记 六.面向对象编程中级部分 包 包的注意事项和使用细节 访问修饰符 访问修饰符的注意事项和使用细节 面向对象编程三大特征 封装 封装的实现步骤(三步) 继承 继承的细节问题 继承的本质 ...

  4. java学习笔记13--反射机制与动态代理

    本文地址:http://www.cnblogs.com/archimedes/p/java-study-note13.html,转载请注明源地址. Java的反射机制 在Java运行时环境中,对于任意 ...

  5. java学习笔记7--抽象类与抽象方法

    接着前面的学习: java学习笔记6--类的继承.Object类 java学习笔记5--类的方法 java学习笔记4--类与对象的基本概念(2) java学习笔记3--类与对象的基本概念(1) jav ...

  6. java学习笔记6--类的继承、Object类

    接着前面的学习: java学习笔记5--类的方法 java学习笔记4--类与对象的基本概念(2) java学习笔记3--类与对象的基本概念(1) java学习笔记2--数据类型.数组 java学习笔记 ...

  7. java学习笔记5--类的方法

    接着前面的学习: java学习笔记4--类与对象的基本概念(2) java学习笔记3--类与对象的基本概念(1) java学习笔记2--数据类型.数组 java学习笔记1--开发环境平台总结 本文地址 ...

  8. Java学习笔记(7)——Java基础之IO多线程网络思维导图

    Java面向对象学习笔记之:包括IO(字节流,字符流,节点流,处理流).线程(线程创建,线程控制,线程同步).网络(TCP Scoket,  UDP Scoket)(全屏观看Java学习笔记(7)-- ...

  9. Java学习笔记5-1——多线程

    目录 前言 核心概念 线程创建 继承Thread类 实现Runnable接口 上述两个方法小结 实现Callable接口 并发问题简介 静态代理模式 线程状态 线程停止(stop) 线程休眠(slee ...

最新文章

  1. 聚类分析在用户行为中的实例_聚类分析在用户分类中的应用
  2. Android 基本 Jackson Marshalling(serialize)/Unmarshalling(deserialize)
  3. innodb_force_recovery的值意思
  4. redis springmvc mysql_redis和mysql怎么一起在springmvc里面
  5. 在CentOS7上安装RocketMQ 4.8.0
  6. tomcat启动时SecureRandom耗时
  7. java 序列化 学习
  8. HashMap内部存储实现及HashTable比较
  9. SFB 项目经验-35-分配公网证书 For Exchange Server 2016(图解)
  10. android超级终端使用,android系统超级终端怎么用?
  11. 一个厂商网站的SQL安全检测 (啊D、明小子)
  12. 防止高考作弊,古今监考老师操碎了心
  13. java 生成水印_Java实现图片生成水印
  14. RabbitMQ问题解决:TCP connection succeeded but Erlang distribution failed
  15. 美国主要经济数据解注释
  16. 【牛客网】算法学习笔记
  17. GB2312编码范围
  18. java模拟简单的qq聊天_初学java之模拟QQ聊天软件(简单实现)
  19. Python 对Excel数据可视化
  20. 在本地安装使用-LTP

热门文章

  1. 计算机的cpu怎么设计出来的,CPU是如何制作出来的?cpu的制造流程介绍
  2. 解决 GiWiFi 普通用户无客户端无法登入
  3. linux 权限分割,sudo使用之实现权限分配
  4. java poi修改word2007_java poi 替换word2007中的指定文本
  5. 20190916:(leetcode习题) 二叉树的层次遍历
  6. Java中的泛型全解析(一)
  7. ‘adb‘ 不是内部或外部命令and Error while executing: am start -n解决
  8. 机房收费系统个人重构版:暮然回首,灯火阑珊
  9. 吴恩达团队新研究:用X光片识别14种疾病,AI准确度部分超越人类
  10. 谷歌云TPU上可以用Julia啦!0.23秒跑100张图片,Jeff Dean点赞推荐