主要内容

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. 抓包工具 fiddler

    1. 抓包软件 TCP 外挂: 1. 解包工具  2.抓包工具 HTTP 1.前后端交互过程 2.学习的作用 3.模拟网络情况 2 http client server 没有加密 https 证书 非 ...

  2. Asp.Net Web API中使用Session,Cache和Application的几个方法

    在ASP.NET中,Web Api的控制器类派生于ApiController,该类与ASP.NET的Control类没有直接关系,因此不能像在Web MVC中直接使用HttpContext,Cache ...

  3. ES6之Class

    ES6中的Class和JS的比起来无疑是让对象原型的写法更加清晰,更像面向对象编程的语法而已,注意一个问题ES6里面的Class的内部定义的所有方法都是不可枚举的,而且在ES6中Class不存在变量提 ...

  4. adb指令介绍

    一.adb命令格式为:adb [-d|-e|-s <serialNumber>] <command> 1.adb devices :列出当前电脑所连接的所有安卓设备 2.adb ...

  5. Git安装和使用(谨记)

    刚开始用git的小白适用,,转自http://www.cnblogs.com/qijunjun/p/7137207.html 实际项目开发中,我们经常会用一些版本控制器来托管自己的代码,今天就来总结下 ...

  6. bzoj 4199: [Noi2015]品酒大会

    Description 一年一度的"幻影阁夏日品酒大会"隆重开幕了.大会包含品尝和趣味挑战两个环节,分别向优胜者颁发"首席品酒家"和"首席猎手&quo ...

  7. C#中级-Windows Service程序安装注意事项

    一.前言 这周除了改写一些识别算法外,继续我的Socket服务编写.服务器端的Socket服务是以Windows Service的形式运行的. 在我完成Windows Service编写后,启动服务时 ...

  8. window下mysql数据备份

    今天我有个朋友让我帮他在windowServer服务器上备份一下mysql的数据库,于是花了一天的时间完成了一个每天定时备份数据库的功能,小编在这里为大家记录一下: 首先对于mysql命令行的导入导出 ...

  9. phpexcel导出成绩表

    效果图如下: 代码如下:代码注释不全,请大家参考phpexcel中文帮助手册 <?php require_once 'PHPExcel.php'; function bfb($n) { retu ...

  10. sudo 做不到的事

    本文是经验帖,以后遇到类似的情况会持续更新到这篇文章 普通用户使用sudo会遇到以下情况 1.字符流无法写入到 /var/log/messages /var/log/secure (实际上这些文件一旦 ...