对象和类有什么区别?
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
图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!