Java学习笔记——面向对象
声明:文章首发于我的个人微信公众号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学习笔记——面向对象相关推荐
- Java学习笔记——面向对象 1
声明:本文首发于我的个人微信公众号[Java编程社区],查看更多文章与学习资源请移步我的公众号Java编程社区 万物皆对象 学习Java,我们都听过这句话:万物皆对象.那么什么是对象? 我们先来看看人 ...
- 【Java】Java学习笔记(2)——Java面向对象基础作业函数题
本人私人博客:Megalomania,大部分文章会现在博客上传,有不足之处欢迎指正. 学校小学期Java课程的练习题,留个档便于以后需要时候有例子可以回忆,写的烂的地方请多多包含 1.求两个数值之和 ...
- Java学习笔记 六、面向对象编程中级部分
Java学习笔记 六.面向对象编程中级部分 包 包的注意事项和使用细节 访问修饰符 访问修饰符的注意事项和使用细节 面向对象编程三大特征 封装 封装的实现步骤(三步) 继承 继承的细节问题 继承的本质 ...
- java学习笔记13--反射机制与动态代理
本文地址:http://www.cnblogs.com/archimedes/p/java-study-note13.html,转载请注明源地址. Java的反射机制 在Java运行时环境中,对于任意 ...
- java学习笔记7--抽象类与抽象方法
接着前面的学习: java学习笔记6--类的继承.Object类 java学习笔记5--类的方法 java学习笔记4--类与对象的基本概念(2) java学习笔记3--类与对象的基本概念(1) jav ...
- java学习笔记6--类的继承、Object类
接着前面的学习: java学习笔记5--类的方法 java学习笔记4--类与对象的基本概念(2) java学习笔记3--类与对象的基本概念(1) java学习笔记2--数据类型.数组 java学习笔记 ...
- java学习笔记5--类的方法
接着前面的学习: java学习笔记4--类与对象的基本概念(2) java学习笔记3--类与对象的基本概念(1) java学习笔记2--数据类型.数组 java学习笔记1--开发环境平台总结 本文地址 ...
- Java学习笔记(7)——Java基础之IO多线程网络思维导图
Java面向对象学习笔记之:包括IO(字节流,字符流,节点流,处理流).线程(线程创建,线程控制,线程同步).网络(TCP Scoket, UDP Scoket)(全屏观看Java学习笔记(7)-- ...
- Java学习笔记5-1——多线程
目录 前言 核心概念 线程创建 继承Thread类 实现Runnable接口 上述两个方法小结 实现Callable接口 并发问题简介 静态代理模式 线程状态 线程停止(stop) 线程休眠(slee ...
最新文章
- android 多版本打包,Android build.gradle版本名打包配置的方法
- 自动驾驶行业观察 | 停车不再难,L2到L4的泊车辅助系统技术剖析
- 老夫疗法少年狂:微软中国CTO黎江:不要给区块链贴标签,也不要非黑即白区分谁是好人谁是坏人
- DL框架之MXNet :深度学习框架之MXNet 的简介、安装、使用方法、应用案例之详细攻略
- LeetCode Algorithm 414. 第三大的数
- NSDateFormatter设定日期格式
- java 解析时间字符串_Java8解析给定字符串的日期或日期时间格式
- 软件测试:等价类划分-----EditBox问题增加文本框
- G - Power Strings
- 图像常用的格式总结及比较
- 王者荣耀交流协会-小组互评Alpha版本
- DNS错误不能上网怎么办?电脑dns错误修复方法?
- 域名注册必须实名认证 《互联网域名管理办法》11月1日实施
- AI+PS教程!制作油画质感早餐插画
- 用正则表达式替换手机号为星号*的写法
- 用php求两数之和,Leetcode PHP 两数之和
- SQL 更新语句:Update ... set ... from ...
- 重估2020:“黑天鹅”催生的AI新业态
- 在2012年08月08号这一天,2345浏览器的V2.0版本跑出来了!
- 怎样知道android的手机号码,查自己手机号码怎么查 教你五种方法【图文教程】...