百科狗-知识改变命运!
--

对象和类有什么区别?

小肉包1年前 (2023-12-02)阅读数 11#综合百科
文章标签变量对象

1,类是一个抽象的概念,它不存在于现实中的时间/空间里,类只是为所有的对象定义了抽象的属性与行为。就好像“Person(人)”这个类,它虽然可以包含很多个体,但它本身不存在于现实世界上。

2,对象是类的一个具体。它是一个实实在在存在的东西。

3,类是一个静态的概念,类本身不携带任何数据。当没有为类创建任何对象时,类本身不存在于内存空间中。

4,对象是一个动态的概念。每一个对象都存在着有别于其它对象的属于自己的独特的属性和行为。对象的属性可以随着它自己的行为而发生改变。

类变量与类的区别

类对象概念:

所有的类,都存在一个类对象,这个类对象用于提供类本身的信息,比如有几种构造方法,

有多少属性,有哪些普通方法。

类的对象概念:类的实例化。比如定义一个类:人,根据这个类可以实例化很多不同的人,这些人有不同的属性(姓名,年龄)和不同的方法(衣食住行)。

1、类中的属性包括数据成员和函数成员,函数成员可以调用类的所有数据成员(无论公有,或私有)。

2、实例化对象只能调用类的公有的数据成员或公有的函数成员。

类变量也叫静态变量,也就是在变量前加了static

的变量;

实例变量也叫对象变量,即没加static

的变量;区别在于:类变量和实例变量的区别在于:类变量是所有对象共有,其中一个对象将它值改变,其他对象得到的就是改变后的结果;而实例变量则属对象私有,某一个对象将其值改变,不影响其他对象;

例:public

class

A{

static

int

a

=

0;

//类变量

private

int

b

=

0;

//实力变量}public

class

B{

public

void

main

(String[]

args){

A

a1

=

new

A();

A

a2

=

new

A();

a1.a

=

3;

//

等同于

A.a

=

3;a1.b

=

对象和类有什么区别?

4

;System.out.println(a2.a);

//结果为3

//类变量是针对所有对象的,所以a1改变

a,a2的a也改变

System.out.println(a2.b);

//结果为0

//实例只改变自身的,所以a1对象的b改变,不影响对象a2的b变量}}类变量又叫静态成员变量,它不需要创建对象就可以已经在内存中存在了。

类就像一份说明书,说明这种类的实例对象的规格。而在创建实例对象的时候,内存中会为每一个实例对象的每一个非静态成员变量开辟一段内存空间,用来存储这个对象所有的非静态成员变量值。即使两个不同的实例对象是属于同一个class类,但是它们的同名非静态成员变量在内存中占用的空间是不同的。

而静态成员变量也就是类变量不同。所有的实例对象都共用一个类变量,内存中只有一处空间是放这个类变量值的。因此,如果一个对象把类变量值改了,另外一个对象再取类变量值就是改过之后的了。

鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com

免责声明:我们致力于保护作者版权,注重分享,当前被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!邮箱:344225443@qq.com)

图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,本着为中国教育事业出一份力,发布内容不收取任何费用也不接任何广告!)