我们在学习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. java cms 垃圾回收_Java 9 或将放弃 CMS(并发标记清除垃圾收集器)
  2. Android开发实践:在任意目录执行NDK编译
  3. 心血来潮学python
  4. Thinkphp 源码分析
  5. 在Sharepoint中批量删除大量条目
  6. IPTABLES封闭和开放端口
  7. P4068-[SDOI2016]数字配对【二分,费用流】
  8. java fx 内置图标_图标 – 如何在Windows上为javafx本机程序包图标设置自定义图标...
  9. 实数是不是python数据类型_python 基本数据类型
  10. C++:派生类中的构造函数问题
  11. Dubbo的Javassist代理
  12. Net开发的部分知名网站案例
  13. db文件 linux查看工具,Linux最大文件句柄数查看及修改
  14. 半自动驾驶大对决:特斯拉和凯迪拉克谁是真王
  15. 敏捷软件开发VS.传统软件工程
  16. 微信云控源码帮您快速复制营销
  17. Nginx灰度升级实现说明
  18. python将输入的字符串反转过来_如何实现python字符串反转?
  19. 天使轮、A轮、B轮、C轮、D轮融资 究竟是什么?
  20. 华为台式机擎云W515 PGUV-WBY0安装银河麒麟V10

热门文章

  1. 电子邮箱的正确格式怎么写?个人邮箱账号登录入口是什么?
  2. 【机器学习笔记】Regularization : Ridge Regression(岭回归)
  3. 如何裁剪动图的尺寸?怎样快速裁剪gif动图?
  4. 需要眼镜时如何使用相机
  5. 记录一次慢SQL优化:大表关联小表->拆解为单表查询
  6. 我人生的第一个 1000 万
  7. 原力计划【MySQL数据库】- 多表查询
  8. 淘宝taobao sdk 2.0去除lotusphp
  9. JS逆向 | 拼多多anti_content参数
  10. Study_microblog笔记Part 4--数据库