static和this的理解和用法总结.doc

static和this的理解和用法总结.doc

ID:50530984

大小:35.52 KB

页数:2页

时间:2020-03-10

static和this的理解和用法总结.doc_第1页
static和this的理解和用法总结.doc_第2页
资源描述:

《static和this的理解和用法总结.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、static和this的理解和用法小结关键字static和this是初学者比较头疼的知识点,自己也一直比较模糊.现在整理一下,既可以加深自己的印象也可以便于以后查询.其实在thinkinjava里关于为什么要使用static写的比较详细,不明白的多读几遍会有很大的收获.一般在两钟情形下需要使用static关键字:一种情形是只想用一个存储区域来保存一个特定的数据——无论要创建多少个对象,甚至根本不创建对象。另一种情形是我们需要一个特殊的方法,它没有与这个类的任何对象关联。也就是说,即使没有创建对象,也需要一个能调用的方法。一旦

2、将什么东西设为static,数据或方法就不会同那个类的任何对象实例联系到一起.所以尽管从未创建那个类的一个对象,仍能调用一个static方法,或访问一些static数据。而在这之前,对于非static数据和方法,我们必须创建一个对象,并用那个对象访问数据或方法。这是由于非static数据和方法必须知道它们操作的具体对象.有这样的一个类,其中定义一个静态数据:classTest{Staticinti=47;}Testst1=newStaticTest();  Testst2=newStaticTest();  即使们new了两

3、个Test对象,但它们仍然只占据Test.i的一个存储空间。这两个对象都共享同样的i。对方法来说,static一项重要的用途就是帮助我们在不必创建对象的前提下调用那个方法.  静态变量)  一个静态对象属于一个类,但它不属于实例对象,也不是实例对象状态的一部分.每一个静态变量只存在一份.静态变量通常称为类变量(classvariable).在实际中,经常需要这样的一个变量,它被一个类的所有实例对象所共享,如果它同时又是公有的,那么它就可以被这个类的任意访问者所使用.静态变量存在于类的作用域之内.通常声明为private.ja

4、va中许多时候会用到publicstaticfinal这样的变量。静态变量可以被位于同一个作用域内的任意方或静态方法访问,访问时使用变量名称即可。如果在类作用域以外访问类,则要使用一个含有类名的表达式访问静态变量,例如:Integer.MAX_VALUE,其中MAX_VALUE是在类库中声明过的。静态方法)静态方法或类方法属于一个而不是属于某个实例对象实现的一部分。可以直接通过类来调用这种方法,而并不是只能由某个特定的实例对象调用。静态的方法不能用abstract声明,而且无论是否明确地指定实际上都是final型的。静态方法

5、的声明格式:modifiersstatictypeNamemethodName(parameterList){statementSequence}modifiers(可以从public,protect,private中选择一个),后面可以加上final,nativc,synchronized中的一个或几个的组合。staticmain是静态方法的一个特殊用法,用staticmain方法来建立程序的初始状态,创建一组初始对象,并进行合理的方法调用,使得程序能够继续执行下去,staticmain方法使用String数组型参数包含了

6、用户在运行时给出的任意命令行参数。静态初始化器)静态初始初始化器(staticinitializer)时一个语句序列,在装入一个类时执行它。我们用它来初始化静态变量,并且苦于完成一个类所需的其他初始化工作。静态变量可以被直接初始化,但是要进行更复杂的初始化,就需要静态初始化器。它提供了一种与实例变量初始化类似的机制。形式:static{statementSequence}关于this.this关键字(注意只能在方法内部使用)。This是一个final变量,在构造函数,实例方法和实例初始化器中被自动声明。它持有对调用该构造函数

7、,方法或者初始化器的对象的一个引用。this的类型就是这个对象的引用的类型。(1)当一个实例变量有可能被嵌套范围内的一个参数名称覆盖时:classexamplevoidf(intx)//parameterxhidestheinstancevariable{this.x=x//this.xusedtoacesstothehiddeninstancevariable}...praviteintx=4;}(2)传递一个当前的对象的引用给其他类的其他方法:{...Aa=newA();...a.f(this);/passthistom

8、ethodfofclassA...}(3)在构造函数相互关联的情况下,使用this可以让一个构造函数调用另外一个构造函数。用法是在一个this表达式后面追加一个位于括号中的参数列表,就可以调用与参数列表相匹配的构造函数。publicTest(){this(10);//调用另一个int型的函

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。