主要内容

1.类和对象的概念

2.什么是面向对象

3.什么对象的属性方法

4.何谓对象引用

5.实例化

类和对象的概念

万物皆对象,客观存在的事物皆为对象。我们大到名胜古迹,小道生活中的一件物品,例如剪刀钟表,信封甚至我们开的汽车。
类是模子,确定对象将会拥有的特征和行为。类的特点:类是对象的类型,类是具有相同属性和方法的一组对象 的集合,也就是说我们可以把 多个具有相同属性和方法的对象 用一个类表示,一个类可以对应多个对象。

什么是面向对象

面向对象就是人朝着对象,我们人关注着一个对象,那么对于计算机来讲,其实他形象的比喻了我们人更关注具体的事物的信息,我们只要用解决生活当中问题的方式,其实就可以理解计算机当中的面向对象的概念
 
比如说,刚刚高考完,觉得考的还不错,决定买个手机奖励自己,当我去了中关村,售货人员首先问的我第一句话就是你想买一个什么样的手机,此时我就会告诉他我想买一个屏幕大一点的cpu快的内存大的,能打电话发短信的手机,此时我只是描述了这个手机是什么,其实这个手机现在存不存在?他是不存在的紧接着售货员就从柜台里拿出一台华为手机,这个手机的屏幕有五寸那么大,cpu是双核的,内存有2g那么大,他可以打电话,发短信,此时我们就把具体的电话成为对象,当然如果我们对这个手机对象不满意我们还可以要求售货员再给我们挑一个其他品牌的手机对象,这个时候售货员就会把其他品牌的手机的手机放在柜台上供我们挑选,例如说可以有小米,iPhone。我们刚刚描述的这个买电话的过程可以理解为就是面向对象,我们生活当中是这么处理问题的,你会发现我们处理程序问题时也是这样,刚才售货员让我们描述了一下我想要一个什么类型的手机,此时我们可以把这个信息称为:类其实类在客观世界里是不存在的,只是用来描述我们对象信息,我们此时就可以把它当成模子,因为在计算机世界里面,计算机关注的是数据信息,而我们在描述数据信息的时候一定要描述这个数据信息的类型,所以说对象就是我们计算机当中具体的数据信息,而类就是这个信息的类型,那我们类还有一个特点就是 类是具有相同属性和方法的一组对象 的集合,也就是说我们可以把 具有多个相同属性和方法的对象 用一个类来表示,也可以说一个类可以对应多个对象。——慕课网JAVA入门第二季

对象的属性方法

属性:对象具有的各种特征,每个对象的属性都拥有特定值。

  例如手机的屏幕内存CPU。

方法:对象执行的操作。

  例如手机能打电话,发短信。

何谓对象的引用

JAVA中使用 new关键字 加上 构造方法,来创建一个对象,下面是一个名为Cat的类
 public class Cat {
public Cat() {
System.out.println("这是构造方法");
}
}
使用new + 构造方法 来创建一个对象,那么也就是 Cat c = new Cat();
前半部分,Cat c 的意思是,在内存中分配一个变量,名字叫c,这个变量是Cat类型的,它的值是什么? 一会儿在说; 后半部分,new Cat(); 这就是new关键字和构造方法来创建一个对象,Cat()是构造方法的名字没错吧?想造出一个对象来,就这么写,语法规定的,没有为什么; new Cat(); 说明 new这个Cat类的一个对象,程序运行的时候,会调用构造方法Cat(),等这个构造方法执行完了,这个Cat类型的对象也就造出来了,真正的出现在内存当中了; 使用new关键字造出来的对象,被分配在内存的堆区(heap),而且等这个对象真正出来之后,还会做一件重要的事情:我们这个对象是被分配在内存中的,那么内存地方大了,这个对象在哪里呢?怎么找到它呢?new关键字创建出一个对象之后,会把这个对象在内存中的地址返回,通过这个地址就可以找到这个对象,那么我们上面的写法, Cat c = new Cat(); 意思就是说,把这个对象在内存中的地址 赋值 给变量c,这就是JAVA中引用概念,c就叫做引用,或者叫引用变量,或者直接叫变量,没问题,都是它; c的值就是一个内存地址,或者叫引用地址,通过这个地址,就可以准确的找到我们刚才创建出来的对象,以后我们要使用这个对象做一些事情,调用此对象的方法什么的,都使用这个引用。我们new出来的这个东西,真正在内存中的这个东西叫做对象,叫做实例。
对象是内存中类的属性集合,变量是这个集合在内存中的引用地址。

实例化

在面向对象的编程中,通常把用类创建对象的过程称为实例化。
类其实是以代码的形式保存在文件当中,当我们把文件中的信息放到内存当中,此时这些信息的集合我们就称为对象,这个过程就称为实例化
new 一个对象是实例吗? 对,是实例,你说的没错。可以把这个new出来的对象叫做实例,说白了就是这个new出来的“东西”,叫它对象也可以,叫它实例也可以,对象和实例在这个角度上来讲是等价的。
 

JAVA入门 面向对象的更多相关文章

  1. Java入门 面向对象第一天

    面向对象 人为抽象的一种编程模型,在理解面向对象的代码时要按照抽象的模型来理解,不能只从代码字面来理解复杂的问题,学会拆分成一个一个独立的小问题,通过解决每一个小问题,最后解决一个大问题 类 类是事物 ...

  2. Java入门 - 面向对象 - 01.继承

    原文地址:http://www.work100.net/training/java-inheritance.html 更多教程:光束云 - 免费课程 继承 序号 文内章节 视频 1 概述 2 继承的特 ...

  3. Java入门 - 面向对象 - 02.重写与重载

    原文地址:http://www.work100.net/training/java-override-overload.html 更多教程:光束云 - 免费课程 重写与重载 序号 文内章节 视频 1 ...

  4. Java入门 - 面向对象 - 04.抽象类

    原文地址:http://www.work100.net/training/java-abstract.html 更多教程:光束云 - 免费课程 抽象类 序号 文内章节 视频 1 概述 2 Java抽象 ...

  5. Java入门 - 面向对象 - 05.封装

    原文地址:http://www.work100.net/training/java-encapsulation.html 更多教程:光束云 - 免费课程 封装 序号 文内章节 视频 1 概述 2 封装 ...

  6. Java入门 - 面向对象 - 06.接口

    原文地址:http://www.work100.net/training/java-interface.html 更多教程:光束云 - 免费课程 接口 序号 文内章节 视频 1 概述 2 接口的声明 ...

  7. Java入门 - 面向对象 - 07.包(package)

    原文地址:http://www.work100.net/training/java-package.html 更多教程:光束云 - 免费课程 包(package) 序号 文内章节 视频 1 概述 2 ...

  8. java入门——面向对象

    简介 对象具有自己的状态和行为: 描述一个对象具有什么状态和行为的过程叫做建模,不同的意图下我们对同一个事物的描述会产生不同的模型. 类 类描述一类对象的状态和行为的模板.可以把类想象成一个汽车设计图 ...

  9. [Java入门笔记] 面向对象编程基础(二):方法详解

    什么是方法? 简介 在上一篇的blog中,我们知道了方法是类中的一个组成部分,是类或对象的行为特征的抽象. 无论是从语法和功能上来看,方法都有点类似与函数.但是,方法与传统的函数还是有着不同之处: 在 ...

随机推荐

  1. ABP框架 - 规约

    文档目录 本节内容: 简介 示例 创建规约类 在仓储里使用规约 组合规约 讨论 何时使用 何时不用 简介 规约模式是一个特别的软件设计模式,业务逻辑可以使用boolean逻辑重新链接业务逻辑(维基百科 ...

  2. intellij idea 主题大全,看不惯idea 那2种主题的来这里了

    一直用默认的主题,但是白色的背景看久了会晃眼睛.所以打算换成黑色的. 不过Intellij只有两种主题,Default和Darcula. 现在只能自己手动安装一个了.新主题需要满足, 看久了不会太累. ...

  3. restfull软件架构风格

    概念:restfull是一种软件架构风格,实现该风格不需导jar包,但要使用@PathVariable注解:特点:没有参数,没有扩展名优势: 1.安全 2.简洁高效 3.容易被搜索引擎所收录 如何利用 ...

  4. 停止Flink任务

    1.简单粗暴 控制台中Ctrl+C 2.UI中点击"Cancel" 3.执行cancel命令,需要知道Flink的Job ID # flink cancel jobId

  5. 将php项目打包docker镜像

    简介:有时候我们需要将php的项目打包成docker镜像,这里介绍下 思路:我们php和apache结合一个镜像实现php项目的访问,mysql是一个单独的镜像 步骤: 1.首先我们在本地测试好自己的 ...

  6. springMVC(4)---生成excel文件并导出

    springMVC(4)---生成excel文件并导出 在开发过程中,需要将数据库中的数据以excel表格的方式导出. 首先说明.我这里用的是Apache的POI项目,它是目前比较成熟的HSSF接口, ...

  7. CROSS JOIN,NATURAL JOIN

    CROSS JOIN:笛卡尔积 NATURAL JOIN:

  8. UITableView的性能优化1

    UITableView作为ios中使用最频繁的控件之一,其性能优化也是常常要面对的,尤其是当数据量偏大并且设备性能不足时.本文旨在总结tableview的几个性能优化tips,并且随着认识的深入,本文 ...

  9. Python学习日记:day1

    1.计算机基础 cpu:相当于人的大脑,用于计算. 内存:储存数据,运行速度快,成本高,断电数据消失. 硬盘 :固态硬盘(快).机械硬盘(有指针).储存数据,需要长期保持数据,重要文件 打开qq过程: ...

  10. Spring入门篇总结:

    本文是对慕课网上"搞定SSM开发"路径的系列课程的总结,详细的项目文档和课程总结放在github上了.点击查看 视频传送门:Spring入门篇 该门课程主要从Spring的Bean ...