我们在学习Java的时候,都知道Java是一种面向对象编程的语言,那么面向对象编程究竟是什么意思呢?是使用对象和对象之间的交互来设计系统,将数据和相关的逻辑封装在一起。

先来看三个东西:
OOA(Object-Oriented Analysis):面向对象分析方法;
OOD(Object-Oriented Design):面向对象设计;
OOP(Object Oriented Programming):面向对象编程。

可能大家都会听过这样一种说法,实现编码在整个开发的过程中占比并不多,有过实际项目经验的朋友可能更能够深刻的理解,前期设计做精做细有多重要,为了实现功能直接coding,结果发现因为前期设计不合理,全部做了无用功,需要推翻重来,都是血与泪的教训。

面向对象,什么是对象,在Java中对于类和对象的理解是一道坎,我也借着回顾的机会把我的思考和想法分享出来,供大家参考与探讨,希望大家多多指正。

Java中的类,之前写数据类型的时候写过,除开八种基本数据类型,三种引用数据类型,就包含类,只是类不像基本数据类型一样只能存放单一类型的数据,他对具有共同属性和行为的事物的抽象,是一个抽象的概念。比如说人,人都有身高体重这些属性,也都有吃东西这种行为,把这些共有的属性和方法封装到一起,就是一个类,也就是传说中的人类。

而对象呢,比如说张三,身高178cm,体重68kg。对象是类的具体实例,对象中属性都有自己独立的取值,对象的行为也就是方法可以对自己进行操作,比如说吃东西会导致体重变重。但要注意的是,对象中的属性都有自己独立的取值,方法却是共用的一个方法,就是类中的方法,我们可以这样理解,每个人长多高多重都不一样,但人们吃东西的行为还是一样的。

简要来说,类是抽象的,可以看做是一个概念,一个模型,它里面封装着一些某类对象共有的特性(属性和行为);而对象是类的实例化,是按照类提供的模板创建的实例,是确实存在的,是有自己独立的属性和行为的。

比如人类是一个概念,而张三这个人是确实存在的;再比如车是一个概念,而一辆红色的桑塔纳是确实存在的。

我们在写一些小程序的时候,都会先定义类,定义类用class关键字;而对象呢,我们常常说new一个对象,没有对象怎么办,new一个对象出来。比如说,String s = new String(“Hello World”)就是新建了一个字符串对象。

new一个对象,又是怎么new的呢?

//类名 对象名 = new关键字 类的构造方法
Person person1 = new Person();

Person person1,只是创建了Person类的引用,并没有创建对象;
而new Person()才创建了Person类的对象。

简单说一下new关键字和构造方法:

new关键字

new关键字在生成对象时完成了三件事:
1、为对象开辟内存空间;
2、调用类的构造方法;
3、将生成的对象的地址返回。

返回的地址就存放在前面创建的引用中。

构造方法

构造方法用于完成对象属性的初始化工作。

//测试类
class Test{//主函数public static void main(String[] args){//新建对象Person zs = new Person("张三");//打印对象姓名System.out.println(zs.name);}
}
//人类
class Person{//成员变量,姓名String name;//构造方法,参数为姓名Person(String name){//将传入参数的名字赋给成员变量this.name = name;}
}

我们看上面的例子,我们在创建一个人的实例的时候传入了一个姓名参数,这个对象在初始化时就有姓名,就和我们出生之后父母取名字一样。
那么构造方法有什么特点呢:
1、构造方法的名字必须和类名完全一致(包括大小写)
2、构造方法没有返回值(并不意味着是void,void不能出现)
3、如果在定义类时没有声明构造方法,那么Java编译器会自动为类添加一个没有参数且方法体为空的构造方法
4、如果定义一个类时声明了构造方法,那么Java编译器就不会为类添加构造方法了
5、不能显式调用类的构造方法,构造方法通常是通过new关键字隐式调用
结合上面的例子,大家应该可以理解。

就先写这么多,欢迎大家批评指正。

Java回顾——类和对象相关推荐

  1. java演练 类与对象 给我一个数字还你一个字符串

    java演练 类与对象 给我一个数字还你一个字符串 视频 https://www.ixigua.com/i6870502014800003598/ 代码 类 public class Game {pu ...

  2. java/03/类与对象,深入分析类与对象(权限修饰,构造方法和简单java类),数组的定义及使用

    java/03/类与对象,深入分析类与对象(权限修饰,构造方法和简单java类),数组的定义及使用 七十年代,IBM的Smalltalk语言最先推广面向对象,后来C语言变为C++,后来C++又产生了J ...

  3. java学习--类与对象

    文章目录 java学习--类与对象 类的定义与对象的使用 类的私有成员的使用 java学习–类与对象 类的定义与对象的使用 类的定义与对象的使用 类的定义步骤: public 类名: //定义成员变量 ...

  4. java面向对象-类和对象

    Java面向对象笔记 文章目录 Java面向对象笔记 java面向对象 类和对象 什么是类 定义 创建和使用 公式 构造方法 什么是构造方 怎么定义和使用构造方法 实列 This关键字 什么是成员变量 ...

  5. Java基础--类与对象

    2019独角兽企业重金招聘Python工程师标准>>> 一.类与对象 类是对一类事物描述,是抽象的.概念上的定义.   对象是实际存在的该类事物的每个个体,因而也称实例(instan ...

  6. java笔记类与对象3.7-3.10 2020.3.17

    List,是个接口 ArrayList才是动态数组类 3.7垃圾回收机制 this的三种用法 this(1,2,3)会调用构造器 下图三个对象都是垃圾对象 让系统回收垃圾对象 回收的时候,会调用自己的 ...

  7. Java 基础——类和对象

    Java作为一种面向对象语言.支持以下基本概念: •多态 •继承 •封装 •抽象 •类 •对象 •实例 •方法 •消息解析 本节我们重点研究类与对象的概念. 对象:对象是类的一个实例,有状态和行为.例 ...

  8. java里类包含对象对不对_Java类中的对象

    当创建一个类时,需要创建一种新的数据类型.获得类的对象的过程包含两个步骤.首先,必须声明该类类型的一个变量,这种声明只是一种简单声明,对计算机来讲,并没有实际的物理含义:然后,需要创建一个对象的实际物 ...

  9. Java程序设计语言基础05:Java的类和对象

    目录 1. 类的定义与组成 1.1 类的定义 2.2 类的使用 2. 类.对象和引用 2.1 类 2.2 对象 2.3 引用 3. 类的知识扩展 3.1 成员变量初始值 3.2 在类中定义自己的引用 ...

最新文章

  1. 【未来可能用到】关于模型的100个问答-part1
  2. hyperopt中文文档:Interfacing-With-Other-Languages(在其他语言中使用hyperopt)
  3. solr部署在tomcat下
  4. C#循环给多个控件赋值
  5. 阿里云马涛:什么是操作系统的云原生?
  6. 七步从Angular.JS菜鸟到专家(1):如何开始【转】
  7. c语言求偶数的积,《动物的多*语言》阅读理解及*
  8. 伯克利人工智能导论课开放:视频、PPT和练习都在这 | 资源
  9. 使用Android OpenGL ES 2.0绘图之二:定义形状
  10. matlab2c使用c++实现matlab函数系列教程-hankel函数
  11. 跨站请求伪造(CSRF)攻击是什么?如何防御?
  12. Ignite 架构全面解析
  13. 【LUTs调色】50个好莱坞电影级别调色预设模板 mLUT Film 3
  14. Kubernetes第二曲 集群部署(Etcd+Flannel)
  15. Linux系统编程笔记(李慧琴) 2
  16. 根据IP获取城市-新浪ip接口
  17. 阿峥教你实现UITableView循环利用
  18. (OK) 编译内核及移植MPTCP过程 - 树莓派 3B - (北邮张成文老师组)本科生 - 杨翔 - 周煊赫 - 研究生 - 黎增城
  19. 岂止于网络 xNet的应用交付逆袭之路
  20. 基于javaWeb的毕业生论文管理系统

热门文章

  1. Statusnet中文攻略教程
  2. IIs_WPG用户组的介绍
  3. 雨听 | 给小伙伴们推荐一个在线工具大全【超好用】
  4. 蒲公英 · JELLY技术周刊 Vol.03
  5. iOS app 审核中文指南
  6. 全球6G技术大会总结报告
  7. android 传感器使用与开发----光线传感器
  8. [Zlib]_[初级]_[使用zlib库解压提取文件]
  9. HTML5 新属性contenteditable
  10. python培训线上课程