java 对象和实例有什么区别_对象和实例之间的区别
“ 类别”一词来自“ 分类”(将类别放入其中的“ 类别”),现在我们都听说“ 类别”就像一个蓝图,但这到底是什么意思?这意味着该类具有特定类别的描述,(我想用Java来举例说明类,对象和实例之间的区别,并且我会要求读者在阅读它时像一个故事一样对其进行可视化,如果您不熟悉Java没关系)因此让我们首先创建一个名为HumanBeing的类别,这样Java程序将如下表示。
class HumanBeing{
/*We will slowly build this category*/
}
现在,HumanBeing一般具有名称,年龄,身高,体重的哪些属性,现在让我们将自身限制为这四个属性,然后将其添加到类别中
class HumanBeing{
private String Name;
private int Age;
private float Height;
private float Weight;
/*We still need to add methods*/
}
现在,每个类别都有一个行为,例如类别Dog的行为是吠叫,抓取,滚动等。类似地,我们的类别HumanBeing也可以具有某些行为,例如,当我们问问HumanBeing时,您的名字/年龄/体重/高度?它应该给我们它的名字/年龄/体重/身高,所以在java中我们这样做
class HumanBeing{
private String Name;
private int Age;
private float Height;
private float Weight;
public HumanBeing(String Name,int Age,float Height,float Weight){
this.Name = Name;
this.Age = Age;
this.Height = Height;
this.Weight = Weight;
}
public String getName(){
return this.Name;
}
public int getAge(){
return this.age;
}
public float getHeight(){
return this.Height;
}
public float getWeight(){
return this.Weight;
}
}
现在,我们将行为添加到了HumanBeing类别中,因此我们可以询问其名称,年龄,身高,体重,但是您可以从谁那里询问这些详细信息,因为class HumanBeing这只是一个类别,它是一个蓝图,例如,建筑师为他要建造的建筑物的文件,现在我们不能继续在蓝图(对建筑物的描述)中居住,我们只能在建筑物建成后居住在建筑物中,所以在这里我们需要从我们的类别中创建人类上面已经描述过了,那么我们该如何在Java中做到这一点呢?
class Birth{
public static void main(String [] args){
HumanBeing firstHuman = new HumanBeing("Adam",25,6.2,90);
}
}
现在,在上面的示例中,我们创建了第一个名称为age height weight的人,那么上面的代码中到底发生了什么?。我们正在实例化类别HumanBeing,即创建了该类的对象
注意: 对象和实例不是同义词在某些情况下,似乎对象和实例是同义词,但它们不是同义词,我会给出两种情况
情况1:对象和实例似乎是同义词。
让我详细说明一下,当我们说在堆内存上创建了该类别HumanBeing firstHuman = new HumanBeing("Adam",25,6.2,90); 的对象并为其分配了一些地址,并持有对该地址的引用时,现在该对象为人的对象也是人的实例。在这里,似乎对象和实例是同义词,我再说一遍,它们不是同义词firstHuman
让我们恢复我们的故事,我们创建了第一个人类,现在我们可以问他的名字,年龄,身高,体重,这就是我们在Java中的做法
class Birth{
public static void main(String [] args){
HumanBeing firstHuman = new HumanBeing("Adam",25,6.2,90);
System.out.println(firstHuman.getName());
System.out.println(firstHuman.getAge());
...
...
}
}
因此,我们拥有第一个人类,并通过赋予我们的第一个人类一定的资格来让自己动弹,让我们让他成为医生,因此我们需要一个名为Doctor的类别并赋予Doctor一些行为,因此在Java中,我们可以这样做
class Doctor extends HumanBeing{
public Doctor(String Name,int Age,float Height,float Weight){
super(Name,Age,Height,Weight);
}
public void doOperation(){
/* Do some Operation*/
}
public void doConsultation(){
/* Do so Consultation*/
}
}
在这里,我们使用了继承的概念,它在代码中带来了一定的可重用性,每个Doctor永远都是HumanBeing的第一人,因此Doctor的Name,Age,Weight,Height将从HumanBeing继承而来,而无需再次编写,请注意,我们只是写了一份尚未创建医生的说明,所以让我们在我们的医生中创建一名医生。class Birth
class Birth{
public static void main(String [] args){
Doctor firstDoctor = new Doctor("Strange",40,6,80);
.......
.......
/*Assume some method calls , use of behaviour*/
.......
.......
}
}
情况2:对象和实例不是同义词
在上面的代码中,我们可以直观地看到我们正在实例化Doctor类并将其变为现实,即我们只是创建了Doctor类的Object,因为我们已经知道Object是在堆内存上创建的并firstDoctor在堆上保存对该Object的引用;
这个特定的对象firstDoctor如下(请注意firstDoctor,它持有对该对象的引用,它不是对象本身)
firstDoctor是A的对象class Doctor和A的实例class Doctor
firstDoctor是不是一个对象class HumanBeing,但实例class HumanBeing
因此,特定对象可以是特定类的实例,但不必是该给定类的对象
结论:
如果对象满足特定类别的所有特征,则称该对象为该特定类别的实例。
现实世界的例子如下,我们最初是人类,因此将我们形象化为人类的对象,现在,当我们长大后,我们承担起责任,学习新技能,并在人生中扮演不同的角色。儿子,兄弟,女儿,父亲,母亲现在我们到底是什么?我们可以说我们是人类的对象,但兄弟,女儿等的实例
我希望这有帮助
谢谢
java 对象和实例有什么区别_对象和实例之间的区别相关推荐
- 验证和确认的区别_验证与确认之间的区别
验证和确认的区别 Today we are going to cover the topic difference between Verification and Validation. 今天,我们 ...
- 框架和库的区别_框架和库之间的区别
框架和库的区别 Developers often use the terms "library" and "framework" interchangeably ...
- 无监督和有监督的区别_机器学习和人工智能之间的区别
机器学习示意图 机器学习是人工智能的一门学科,其中人工智能的应用范围更广,涵盖了与人类智能相似的主要系统.术语机器学习和人工智能的区别在于,人工智能是模仿人类智能的所有应用,智能发明的设计和综合.另一 ...
- JavaScript的Date对象的setTime()与setDate()方法之间的区别
Date对象的setTime()与setDate()方法之间的区别 1.setTime()方法 setTime()方法以毫秒设置Date对象: dateObject.setTime(millisec) ...
- java集群和分布式 区别_集群和分布式的区别?
集群和分布式有什么区别? 分布式系统: 分布式系统(distributed system)是建立在网络之上的软件系统.正是因为软件的特性,所以分布式系统具有高度的内聚性和透明性.因此,网络和分布式系统 ...
- serverlet 区别_浅谈JSP serverlet的区别与联系
jsp是html包含java servlet是java包含html jsp请求到tomcat---tomcat封装了jsp到servlet实现. 所以jsp请求时候,会自动创建session 而不用在 ...
- python是什么和c++是什么区别_编程c++和python的区别
展开全部 论坛 活动 招聘 专题 打开2113CSDN APP Copyright © 1999-2020, CSDN.NET, All Rights Reserved 登录 一颗日成 关注 浅谈52 ...
- 语法和语义之间的差异_语法和语义之间的区别
语法和语义之间的差异 Here you will learn about difference between Syntax and Semantics with example. 在这里,您将通过示 ...
- iVMS-4200 Vs区别_高中和大学的这些区别虽鲜为人知,却字字有据,句句真实
学有方法,考有技巧,优学优考策略致力于学与考的最优结合,助力学子考入理想大学! 终于到了上大学的年纪,身边的小伙伴都走上了各奔前程的路,你也不例外吧,在一个人的路上越走越远.或许这个时候的你才慢慢的懂 ...
最新文章
- lampapache+mysql+php
- 阿里云OSS 服务端签名后直传之分片上传(结合element-ui的upload组件)
- windows tomcat 升级openssl_Linunx开发环境配置——Tomcat
- 螺旋矩阵 IIPython解法
- Algorithm I assignment Collinear
- HDU - 4305 - Lightning 生成树计数 + 叉积判断三点共线
- css清除浮动的几种方法_清除浮动的几种方法
- 增强 for 循环 和 普通for 循环的 区别总结
- VS2008引用webservice的奇怪BUG解决方案
- [PHP] - visitFile()遍历指定文件夹
- 联合国devnet_联合国人权可能会适用于人工智能,如果是这样,考虑一下自动驾驶汽车的奇怪案例
- 基于matlab的信号与系统课程设计,信号与系统课程设计基于 MATLAB 完成信号与系统综合设计实验...
- 64位win10下usb转485驱动
- 计算机基础的课程标准,《计算机基础》课程标准
- 史上最详细的Pytorch版yolov3代码中文注释详解(四)
- 软件测试周刊(第71期):大悲时不发言,大怒时不争辩,大喜时不许诺。
- C语言编程学习:使用函数必须知道的3点注意事项
- Boost.Locale 之字符转换 gbk utf8 big5 string wstring等
- 十大管理之项目成本管理知识点
- 如何抛弃鼠标全键盘操作xcode