声明:文章首发于我的个人微信公众号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. Java学习笔记——面向对象 1

    声明:本文首发于我的个人微信公众号[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. android 多版本打包,Android build.gradle版本名打包配置的方法
  2. 自动驾驶行业观察 | 停车不再难,L2到L4的泊车辅助系统技术剖析
  3. 老夫疗法少年狂:微软中国CTO黎江:不要给区块链贴标签,也不要非黑即白区分谁是好人谁是坏人
  4. DL框架之MXNet :深度学习框架之MXNet 的简介、安装、使用方法、应用案例之详细攻略
  5. LeetCode Algorithm 414. 第三大的数
  6. NSDateFormatter设定日期格式
  7. java 解析时间字符串_Java8解析给定字符串的日期或日期时间格式
  8. 软件测试:等价类划分-----EditBox问题增加文本框
  9. G - Power Strings
  10. 图像常用的格式总结及比较
  11. 王者荣耀交流协会-小组互评Alpha版本
  12. DNS错误不能上网怎么办?电脑dns错误修复方法?
  13. 域名注册必须实名认证 《互联网域名管理办法》11月1日实施
  14. AI+PS教程!制作油画质感早餐插画
  15. 用正则表达式替换手机号为星号*的写法
  16. 用php求两数之和,Leetcode PHP 两数之和
  17. SQL 更新语句:Update ... set ... from ...
  18. 重估2020:“黑天鹅”催生的AI新业态
  19. 在2012年08月08号这一天,2345浏览器的V2.0版本跑出来了!
  20. 怎样知道android的手机号码,查自己手机号码怎么查 教你五种方法【图文教程】...

热门文章

  1. vue开发(1) 软件安装
  2. python——深拷贝与浅拷贝的区别
  3. [architecture]-ARMV8的The current Program Counter (PC)介绍
  4. 2020-10-27(汇编收获)
  5. 【Web安全】内网渗透研究之利用MSF和Impacket工具拿域控
  6. 【网络安全威胁】企业风险远不止勒索软件,盘点当今企业面临的四种安全威胁
  7. 006 技能数组分析和代码编写
  8. 012 分析技能冷却二叉树
  9. 13、 LEFT/RIGHT JOIN:外连接(左连接,右连接)
  10. Java多线程之间访问实例变量