java 什么叫对象 其组成是什么?java类和对象的关系是什么
大家好,如果您还对java 什么叫对象 其组成是什么不太了解,没有关系,今天就由本站为大家分享java 什么叫对象 其组成是什么的知识,包括java类和对象的关系是什么的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!
java类和对象的关系是什么
类和对象的关系是:类是对象的抽象,而对象是类的具体实例。
类是抽象的,不占用内存,而对象是具体的,占用存储空间。类是用于创建对象的蓝图,它是一个定义包括在特定类型的对象中的方法和变量的软件模板。
类与对象的关系就如模具和铸件的关系类的实例化结果就是对象,而对一类对象的抽象就是类,类描述了一组有相同属性和相同方法的对象。
什么是Java中的对象
在Java当中,对象是一个类的实体。比如说我们定义了一个Person类,很抽象,可能是若干人的集合。但是当我们将至实例化后,例如Liming可能就是Person类中的一个对象。
对象实现了一些相关的数据和算法的封装。
对象变量就是用来接受某个类的对象的。
比如,我们用new运算符声明一个Person类的对象。new Person()。这时候,系统中就开辟了一块内存给这个对象。但是,这个对象我们不知道他的称呼。而对象变量可以让我们方便的调用生成的对象。
比如,Person liming;这一句是声明了一个对象变量,但是,liming毕竟只是一个能够容纳Person类的对象的变量,而不是一个对象。此时你如果用liming.toString()就是错误的。一旦你将liming这个变量初始化:liming=new Person();就可以用liming.toString()了。
方法就是函数。
java中什么是类和对象
类就是具备某些共同特征的实体的集合,它是一种抽象的数据类型,它是对所具有相同特征实体的抽象。在面向对象的程序设计语言中,类是对一类“事物”的属性与行为的抽象。举一个例子说明下类,比如Person(人)就是一个类,那么具体的某个人“张三”就是“人类”这个类的对象,而“姓名、身高、体重”等信息就是对象的属性,人的动作比如“吃饭、穿衣”等就是对象的方法。总之类就是有相同特征的事物的集合,而对象就是类的一个具体实例。同时类有多态和继承,例如“人类”可以分为“男人、女人”,“老人、小孩”那么“男人、女人”就是“人类”的子类等等。
Java语言中对类Person的定义往往如下:
public class Person{
private String name;//属性:姓名
private int height;//属性:身高
private int weight;//属性:体重
public Person(){}
public Person(String name, int height, int weight){
this.name= name;
this.height= height;
this.weight= weight;
}
//... some methods...
public void doSth(){//行为:
//... do something
}}
Java中的类
类可以看成是创建Java对象的模板。
通过下面一个简单的类来理解下Java中类的定义:
public class Dog{
String breed; int age; String color; void barking(){
}
void hungry(){
}
void sleeping(){
}}
一个类可以包含以下类型变量:
局部变量:在方法、构造方法或者语句块中定义的变量被称为局部变量。变量声明和初始化都是在方法中,方法结束后,变量就会自动销毁。
成员变量:成员变量是定义在类中,方法体之外的变量。这种变量在创建对象的时候实例化。成员变量可以被类中方法、构造方法和特定类的语句块访问。
类变量:类变量也声明在类中,方法体之外,但必须声明为static类型。
一个类可以拥有多个方法,在上面的例子中:barking()、hungry()和sleeping()都是Dog类的方法。
在java中类和对象是什么
人是一个类,人这个类有胳膊,腿,眼睛等等诸多属性。有奔跑、说话、吃饭这些方法。你就是一个对象,是人这个类实例化出来的对象。所以你朋友也是一个对象。
面向过程是着重于其中程序设计的算法、语言的运用,如设计不同功能的函数。面向对象,按书上说是在C语言的基础上发展起来的,通俗说也就是更高一级的C语言,也就是C++,保留了大部分C语言的功能,而在设计方面却着重于对象的处理.
java是一门面向对象的语言,那对面向对象和面向过程不是很清楚的请看看下面的内容,说不定对你有帮助:
面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。
例如五子棋,面向过程的设计思路就是首先分析问题的步骤:
1、开始游戏,
2、黑子先走,
3、绘制画面,
4、判断输赢,
5、轮到白子,
6、绘制画面,
7、判断输赢,
8、返回步骤2,
9、输出最后结果。
把上面每个步骤用分别的函数来实现,问题就解决了。
而面向对象的设计则是从另外的思路来解决问题。整个五子棋可以分为:
1、黑白双方,这两方的行为是一模一样的,
2、棋盘系统,负责绘制画面,
3、规则系统,负责判定诸如犯规、输赢等。
第一类对象(玩家对象)负责接受用户输入,并告知第二类对象(棋盘对象)棋子布局的变化,棋盘对象接收到了棋子的变化就要负责在屏幕上面显示出这种变化,同时利用第三类对象(规则系统)来对棋局进行判定。
可以明显地看出,面向对象是以功能来划分问题,而不是步骤。同样是绘制棋局,这样的行为在面向过程的设计中分散在了总多步骤中,很可能出现不同的绘制版本,因为通常设计人员会考虑到实际情况进行各种各样的简化。而面向对象的设计中,绘图只可能在棋盘对象中出现,从而保证了绘图的统一。
功能上的统一保证了面向对象设计的可扩展性。比如我要加入悔棋的功能,如果要改动面向过程的设计,那么从输入到判断到显示这一连串的步骤都要改动,甚至步骤之间的循序都要进行大规模调整。如果是面向对象的话,只用改动棋盘对象就行了,棋盘系统保存了黑白双方的棋谱,简单回溯就可以了,而显示和规则判断则不用顾及,同时整个对对象功能的调用顺序都没有变化,改动只是局部的。
到这里就可以很明显的看出面向对象和面向过程的区别所在了。
OK,关于java 什么叫对象 其组成是什么和java类和对象的关系是什么的内容到此结束了,希望对大家有所帮助。