主要内容

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. 自学WPF之Binding(一)

    Binding的重要性就不作介绍了,是作为数据交互的支撑,下面来介绍一下为Binding指定源(Source)的几种方法: 把普通CLR类型的单个对象指定为Source:包括.NET Framewor ...

  2. spring-boot学习笔记之Conditional

    今天看了@Conditional,自己根据以下文章练了下,根据自己的理解操作的             转载出处:http://wiselyman.iteye.com/blog/2213054 17. ...

  3. Google Chrome谷歌/火狐/Safari浏览器开发者工具基本使用教程

    前言 在阅读下面内容之前,那么些简单的了解浏览器开发者工具到底是什么东西,到底有什么用途. 浏览器开发者工具到底是什么? 其实简单的说,浏览器开发者工具就是给专业的web应用和网站开发人员使用的工具, ...

  4. 关于《ASP.NET MVC企业级实战》

    大家好,我的书<ASP.NET MVC企业级实战>已经出版啦,感谢大家过去的关注与支持!前言部分,出版的时候漏了部分内容,我这里将其贴出来. 本书提供源码和教学PPT课件!(源码在书中第3 ...

  5. [array] leetCode-27. Remove Element - Easy

    27. Remove Element - Easy descrition Given an array and a value, remove all instances of that value ...

  6. DeepLearning.ai学习笔记(一)神经网络和深度学习--Week4深层神经网络

    一.深层神经网络 深层神经网络的符号与浅层的不同,记录如下: 用\(L\)表示层数,该神经网络\(L=4\) \(n^{[l]}\)表示第\(l\)层的神经元的数量,例如\(n^{[1]}=n^{[2 ...

  7. bzoj 4012: [HNOI2015]开店

    Description 风见幽香有一个好朋友叫八云紫,她们经常一起看星星看月亮从诗词歌赋谈到 人生哲学.最近她们灵机一动,打算在幻想乡开一家小店来做生意赚点钱.这样的 想法当然非常好啦,但是她们也发现 ...

  8. nova创建虚拟机源码分析系列之八 compute创建虚机

    /conductor/api.py _build_instance()  /conductor/rpcapi.py  _build_instance() 1 构造一些数据类型2 修改一些api版本信息 ...

  9. [C#]获得WindowsForm上所有特定类型的控件

    本文为原创文章.源代码为原创代码,如转载/复制,请在网页/代码处明显位置标明原文名称.作者及网址,谢谢! 开发工具:VS2017 语言:C# DotNet版本:.Net FrameWork 4.0及以 ...

  10. 安装lamp代码

    tar -zxvf mysqladdUser mysql -s /sbin/nologinmv mysql /usr/local/mysql (改目录下直接存储bin docs等目录)mkdir -p ...