码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2017-10-14 12:01:40      阅读:125      评论:0      收藏:0      [点我收藏+]

标签:自己的   name   完全   通过   color   style   入栈   比较   ati   

一.

 数据被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关键字特点

标签:自己的   name   完全   通过   color   style   入栈   比较   ati   

原文地址:http://www.cnblogs.com/wsw-bk/p/7663296.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!