JAVA-初步认识-第七章-this关键字特点

Posted 照破山河万朵

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA-初步认识-第七章-this关键字特点相关的知识,希望对你有一定的参考价值。

一.

 数据被static修饰以后,它有什么好处呢?(一个新的事物的诞生,总有其优势)

country数据被所有对象共享了,是country先存在,还是对象先存在?country是先存在,才能被所有对象共享。

country数据在对象出现之前就存在,那么country就可以使用,没有对象,给谁用呢?

country是定义在类中,那么类比country还要先存在。顺序是这样的,先有类,然后是country,最后是对象。

被静态修饰的数据,不光可以被对象使用,还多了一种调用方式,可以被类名调用。

由于静态修饰的数据出现在对象之前,那么静态数据就不仅仅被对象调用,还可以被类名调用,类还要出现在静态数据之前

static修饰的成员变量country可以被类名访问。看下面的截图,输出语句中写的是Person.country,而不是p.country。当然对象调用也是可以的。

这里的Person.country中的Person就是指类名,没什么其他的意思?描述类调用自己的成员变量完全可以说的过去。

static的作用:多了一种调用方式。不用创建对象,就可以直接调用成员。

这就引申出一个问题,类名可以直接调用成员变量,那么对象调用还有什么用?设想一下,如果对象的name也用static修饰符修饰,那么多个对象共享一个name数据,如果一个对象起名叫做"小强",那么所有人都叫做"小强"(一个对象赋值为“小强”,大家都叫“小强”,具体怎么操作?使得这样的情况才能出现?)。

有些数据是共享,但是有些数据是特有的,需要被对象封装在内部,

static修饰数据,形成共享的目的是为了节省堆内存空间。

举个例子,将共享数据比喻成饮水机,每个的杯子比喻成个对象的特有数据。通过生活中具体的例子,增强对枯燥计算机原理的理解。计算机语言是对现实生活的解析重构,所以每个知识点,背后都对应着生活中的例子。而且对象还没存在时,饮水机就已经有了,杯子是随着对象的出现而出现的,而饮水机是随着教室的出现而出现的。

修饰符的意思是表示访问权限么?

我们研究一下特点3和4。3说static优先对象存在,那么描述类在对象创建之前,就已经被加载入栈中了么?是每次固定加载么?4说static静态成员直接被类名调用,也就是主函数内在执行到这句的时候,是要加载描述类的?

类名调用是一种非常好的方式,简化了(不需要先创建对象,再通过对象来调用)。

我们操作对象调用成员的次数比较多,对象的特性比较多,如果都用类名来调用,那么说明都是共享数据,还需要那么多对象干嘛。

→这里是对数据进行了分类,共享的和特有的。

 

以上是关于JAVA-初步认识-第七章-this关键字特点的主要内容,如果未能解决你的问题,请参考以下文章

JAVA-初步认识-第七章-this关键字内存图解

JAVA-初步认识-第七章-this不明白的点(补录)

JAVA-初步认识-第七章-构造函数重载

JAVA-初步认识-第三章-小结

JAVA-初步认识-第八章-数组工具对象建立

JAVA-初步认识-常用对象API(基本数据类型对象包装类-概述)