static和this的理解和用法总结
- 格式:doc
- 大小:25.00 KB
- 文档页数:2
static在c语言中用法static在C语言中的用法C语言是一种广泛应用于系统级编程的编程语言,因其简洁、高效的特点而被广泛采用。
其中,static是C语言中的一个关键字,具有多种用法和功能。
本文将逐步介绍static关键字在C语言中的不同用法和作用。
1. 静态变量static关键字可以用于声明静态变量。
静态变量与普通变量的不同之处在于,它们的生存周期会持续到整个程序的执行过程中,而不仅限于函数调用期间。
在函数内部使用static关键字声明的变量,其值会在函数调用结束后依然保持,下次函数调用时仍然可用。
以下是一个示例:c#include <stdio.h>void increment() {static int counter = 0;counter++;printf("Counter: d\n", counter);}int main() {increment();increment();increment();return 0;}运行结果将会输出:Counter: 1Counter: 2Counter: 3可以看到,每次调用increment函数时,静态变量counter的值都会保持,并在下次调用时继续递增。
2. 静态函数static关键字还可以用于声明静态函数。
静态函数与普通函数的区别在于,静态函数仅在声明它的源文件中可见,无法被其他源文件所调用。
这种封装的特性使得静态函数在模块化编程中起到了一定的作用。
以下是一个示例:c文件1:test1.c#include <stdio.h>static void static_function() {printf("This is a static function.\n");}void normal_function() {printf("This is a normal function.\n");}文件2:test2.cvoid normal_function();int main() {static_function(); 错误,static_function无法被该源文件所调用normal_function(); 正确,normal_function是全局函数return 0;}在上述示例中,test1.c声明了一个静态函数static_function()和一个全局函数normal_function(),而test2.c只能调用全局函数normal_function(),而无法调用静态函数static_function()。
c++的static关键字用法C++中的`static`关键字有多种用法,在不同的场景下都有着不同的含义和作用。
本文将详细介绍C++中`static`关键字的用法及其相关特性,希望能对读者更好地理解和运用这个关键字。
一、`static`关键字概述`static`是C++中的一个关键字,它常用于指定函数、变量、类成员等的作用域和生命周期。
它的主要作用如下:1. 限定变量的作用域。
使用`static`关键字声明的变量具有静态的生存期和块作用域,即在整个程序运行期间都存在,并且只能在声明变量的源文件中访问。
2. 限定函数的作用域。
使用`static`关键字声明的函数具有静态的作用域,即只能在声明它的源文件中调用。
3. 限定类成员的作用域。
使用`static`关键字声明的类成员为静态成员,它不属于类的任何一个对象,而是属于整个类,可以通过类名或类对象来访问。
4. 防止符号重定义。
当在多个源文件中定义同名的全局变量或函数时,使用`static`关键字可以防止它们之间的符号重定义错误。
二、静态变量1. 全局静态变量使用`static`关键字声明的全局变量具有静态生存期和文件作用域,即它在程序运行期间一直存在,而且只能在声明它的源文件中访问。
例如:```cpp//file1.cpp#include <iostream>static int count = 10; //声明全局静态变量countvoid func() {static int i = 5; //局部静态变量i,生命周期为整个程序运行期间std::cout << "i is " << i ;std::cout << " and count is " << count << std::endl;i++;count++;}```在另一个源文件中引用这个全局静态变量,编译器会报错:```cpp//file2.cpp#include <iostream>extern int count; //声明全局变量countvoid func2() {std::cout << "count is " << count << std::endl;}```编译器会报错:undefined reference to `count'。
this关键字,static以及⼦类访问⽗类super关键字1.this是⽤来指代当前类实例化对象public setid(id){thiis.id = id;}即将传⼊的形参id赋值给当前类的id属性2.this还可以调⽤⽅法,⽅法分为两种构造⽅法和普通⽅法构造⽅法中可以通过this调⽤普通⽅法,但是普通⽅法不能调⽤构造⽅法3.⽆参构造⽅法中可以通过this调⽤有参构造⽅法有参构造⽅法中也可以通过this调⽤⽆参构造⽅法但两者不能同时调⽤4.两种构造⽅法都不能它通过this调⽤⾃⼰5.static:表⽰静态或全局,可以⽤修饰成员变量或成员⽅法,代码块6.如果没有学习对象之后的知识,如果要调⽤主⽅法外的⽅法,变量,name需要将这些⽅法或变量声明为static7.当⼀个对象被声明为static时,此时它是共有的,如果在主⽅法中对他进⾏操作,它会不断改变但当在主⽅法中声明⼀个变量时,当它不断⾃增时,其实相当于创建了⼗个它例如Student student = new Student();左边的student属于栈内存储存右边student的堆内存的地址8.static代码块,只会被执⾏⼀次,什么时候执⾏呢?当这个static代码块所在的类被加载时执⾏9.如果判别⼦类创建对象时⽆参构造创建还是有参构造创建,通过右侧⾥⾯的括号⾥⾯是否有参数判定10.(重点)当⼦类创建⼀个对象时,会默认先通过⽆参构造创建⼀个⽗类对象11.(重点)⽆论是⽆参构造或者有参构造创建⼦类对象时,都会先默认通过⽆参构造创建⽗类对象除⾮⼿动修改⼦类的⽆参构造⽅法添加super();此时的⽆参构造创建⽗类对象在于super⽅法中括号⾥⾯是否有参数12.super关键字:⽤于⼦类访问⽗类的成员变量、普通⽅法,构造⽅法在⼦类的构造⽅法中可以通过super关键字访问⽗类的构造⽅法和普通⽅法在⼦类中普通⽅法只能访问⽗类的普通⽅法13.public test(){Student student = new Student(1);student.show();}考点1;每个⼦类对象被创建,都会先创建⽗类对象考点2.通过⼦类调⽤⽗类⽅法14.修饰符分为public、protected、默认、private在不同的修饰符的作⽤域不同同⼀类中四个修饰符都能访问同⼀包中其他的类除咯private不能访问其余的都可以访问不同包中只有public可以访问⼦类(同⼀包)除咯private不能访问,其余都能访问⼦类(不同包)只有public可以访问。
this用法归纳与总结本文将对英语中this的用法进行归纳与总结。
this是一个十分常见且重要的词,在不同的语境中具有不同的意义和用法。
通过对各种情况下this的用法进行总结,可以帮助读者更好地理解和运用this。
1. 代词用法在代词的用法中,this指代的是离说话人近的单数事物或人物。
具体表现如下:例如:This is my book.(这是我的书。
)2. 形容词用法在形容词的用法中,this修饰某个名词,表示离说话人近的事物或人物。
具体表现如下:例如:This car is expensive.(这辆车很贵。
)3. 名词用法在名词的用法中,this后面可以加上一个名词,表示离说话人近的某个事物或人物。
具体表现如下:例如:This book is interesting.(这本书很有趣。
)4. 动词用法在动词的用法中,this可以用来代替前面提到的事物或人物,以避免重复。
具体表现如下:例如:I like this book, and my friend likes it too.(我喜欢这本书,我的朋友也喜欢。
)5. 引导语气的用法在引导语气的用法中,this用来引出一个事实、观点或例子,用以加强说话人的语气,表示强调。
具体表现如下:例如:This is the best movie I have ever seen.(这是我见过的最好的电影。
)6. 对比用法在对比的用法中,this与that相对,this表示离说话人近的事物或人物,that表示离说话人远的事物或人物。
具体表现如下:例如:I like this book, but I don't like that one.(我喜欢这本书,但我不喜欢那本。
)7. 引导条件的用法在引导条件的用法中,this用来引出一个条件或假设。
具体表现如下:例如:If this is true, then we need to take immediate action.(如果这是真的,那么我们需要立即采取行动。
static的用法
静态是指一个变量或函数在编译时就已经唯一确定,不允许再改变。
它是静止的,不能改变,并且可以在程序的任何地方被访问。
二、静态变量的使用
1.局静态变量
全局静态变量是指在程序的全局作用域(从程序的任何地方都可以使用)定义的静态变量。
例如,可以在程序的任何文件中定义一个全局静态变量 int counter,以便在应用程序的其他部分引用它,用于跟踪某个活动的次数。
2.局部静态变量
局部静态变量是指在函数内定义的静态变量。
它只在函数内可见,在函数调用结束后不会被释放,但只在函数内可以访问。
例如,可以在函数内定义一个静态变量 static int count,以便在函数调用后
依然能够访问它,以跟踪函数调用次数。
三、静态函数的使用
在一般常见的编程语言中,一个函数可以被声明为 static,使
得在整个程序中只有在该文件中的函数才能调用这个函数。
在同一文件中,static函数的调用可以省略 static键字,但在跨文件调用时将会报错,因为编译器无法在其他文件中找到这个函数。
总结:
静态(Static)是指一个变量或函数在编译时就已经唯一确定,不允许再改变。
它可以应用在全局静态变量和局部静态变量上,以及
静态函数上。
全局静态变量是指在程序的全局作用域定义的变量,局部静态变量是指在函数内定义的变量,静态函数则是在该文件中的函数可以调用的函数。
static 用法static 用法1. static 变量•定义:在函数内部使用 static 关键字声明的变量称为静态变量。
•特点:–静态变量的生命周期在整个程序运行期间都存在,而不仅仅在函数调用时才存在。
–静态变量存储在静态存储区,不会在函数调用结束后释放内存。
•使用场景:–如果一个变量需要在多次函数调用之间保持其值不变,可以使用静态变量。
–静态变量通常用于计数器或者保存函数的返回值等场景。
•示例代码:#include <>int count() {static int counter = 0;counter++;return counter;}int main() {printf("%d\n", count()); // 输出1printf("%d\n", count()); // 输出2printf("%d\n", count()); // 输出3return 0;}2. static 函数•定义:在函数返回类型前面加上 static 关键字,使函数变为静态函数。
•特点:–静态函数只能在声明它的源文件内部调用,不能被其他源文件使用。
–静态函数不能被其他源文件中的函数调用,从而起到了隐藏的作用。
•使用场景:–当某个函数只在当前源文件内部使用时,可以将其声明为静态函数,以减少命名冲突和提高代码的模块化程度。
•示例代码:#include <>static int multiply(int a, int b) {return a * b;}int main() {int result = multiply(2, 3);printf("%d\n", result); // 输出6return 0;}3. static 类成员•定义:在类中声明的 static 成员属于类本身,而不是类的实例。
•特点:–所有的对象共享同一个静态成员,即静态成员对于所有的对象来说只有一份拷贝。
this 的用法This的用法一、This的基本用法解析在英语中,this是一个常见的指示代词,用来指代在特定上下文中提到的事物或人。
它可以用作名词、形容词和副词。
本文将详细介绍this的基本用法。
1. 作为指示代词This作为指示代词时,常用来替代离说话者较近的那个事物或人。
例如:- This is my book.这是我的书。
- I like this dress.我喜欢这件连衣裙。
2. 作为名词此外,this还可以充当名词,在句子中起到一个特定事物的角色。
例如:- I need this.我需要这个。
- Could you pass me this?你能把这个递给我吗?二、This与That的区别除了使用this,英语中还有另一个指示代词that,两者之间存在一些区别。
1. 距离远近This通常用于指离说话者较近的事物或人,而that则表示距说话者较远的事物或人。
例如:- This car is mine.这辆车属于我。
- That car is John's.那辆车是约翰的。
2. 句子结构This通常出现在陈述句和问句中,而that则更常用于陈述句中。
例如:- This is my house.这是我的房子。
- That building is very old.那座建筑非常古老。
三、This的其他用法此外,this还有一些其他用法需要注意。
1. 表示特指某一事物或情况当我们想强调某个特定的事物或情况时,可以使用this进行修饰。
例如:- You need to be aware of this fact.你需要意识到这个事实。
- This is the reason why I came here.这就是我来这里的原因。
2. 引述上文内容在对上文内容进行引述时,可以使用this来连接上下文。
例如:- I can't believe he said this to me!我简直不敢相信他对我说了这样的话!- This proves what I have been saying all along.这证明了我一直在说的观点。
static的五种用法
"static" 这个关键字在编程中有多种用法,具体用法取决于编程语言。
以下是"static" 关键字在许多编程语言中常见的五种用法:
1. 静态变量(Static Variables):
在函数内部声明的静态变量在程序执行期间保持其值不变。
它们在函数调用之间保持其值,而不像普通的局部变量那样在每次函数调用时重新初始化。
2. 静态方法(Static Methods):
在类中声明的静态方法是不需要实例化类就可以调用的方法。
它们通常用于执行与类相关的操作,而不是与实例相关的操作。
3. 静态类(Static Classes):
在一些编程语言中,可以声明静态类,这些类不能被实例化,且只能包含静态成员。
4. 静态成员变量(Static Member Variables):
在类中声明的静态成员变量是类的所有实例共享的变量。
它们的值对于所有实例都是相同的。
5. 静态导入(Static Imports):
在Java 中,可以使用静态导入来直接访问静态成员,而不需要使用类名来限定。
这样可以简化代码,使得静态成员的使用更加方便。
需要注意的是,不同的编程语言可能会对"static" 关键字有不同的用法和语义。
上述用法主要是针对一些常见的编程语言,比如C/C++、Java、C# 等。
在特定的编程语言中,"static" 关键字可能还有其他用法。
this的用法归纳总结一、this关键字的基本概念与用法在许多编程语言中都有一个关键字叫做this,它代表当前对象或者当前执行上下文。
在JavaScript中,this是一个非常重要的概念,在不同的情况下具有不同的含义和作用。
本文将对this的用法进行归纳总结,帮助读者更好地理解和使用this关键字。
1.1 this的含义和作用简单来说,this关键字用于指向当前正在执行代码的对象。
它可以在方法内部引用对象自身,并提供了一种灵活的方式来访问对象属性和调用方法。
通过使用this,我们可以避免使用硬编码来引用对象,从而使得代码更加通用和可重复使用。
1.2 this的指向问题在JavaScript中,this的指向是动态确定的,取决于函数被调用时所处的上下文。
以下列举几种常见情况:1.2.1 方法调用时:当一个函数作为某个对象的方法调用时,this指向该对象。
1.2.2 函数调用时:当一个独立函数被直接调用时(不作为对象的方法),this指向全局对象(浏览器环境下是window)。
1.2.3 构造函数创建实例时:当通过new关键字调用构造函数创建一个新的实例时,this指向新创建的对象。
1.2.4 apply和call方法调用时:当使用apply或call方法来调用函数时,通过传递上下文参数,可以手动控制this的指向。
1.3 this的常见使用场景1.3.1 在对象内部访问属性和方法:通过使用this关键字,可以直接在对象内部访问自身的属性和方法。
例如:```javascriptconst person = {name: 'Alice',sayHello() {console.log(`Hello, ${}!`);}};person.sayHello(); // 输出 "Hello, Alice!"```1.3.2 DOM事件处理函数中:当给DOM元素添加事件处理函数时,该函数中的this指向触发事件的DOM元素。
Java静态⽅法和实例⽅法的区别以及this的⽤法Java静态⽅法和实例⽅法相同之处:都能接收传过来的参数,都能返回参数。
不同之处:有static就是静态⽅法,静态⽅法在另外⼀个类⾥⾯,不⽤new这个静态⽅法所在的类,也能直接访问这个⽅法,⽐较⽅便。
缺点是静态⽅法常驻内存,不能都⽤静态⽅法。
this的⽤法:当别的类传参过来的局部变量和当前类⾥的全局变量重名的时候,⽤this.来区分,加了this.的就是当前类⾥的全局变量。
如果你把传参过来局部变量的值赋给this.修饰的当前类的全局变量,那这个全局变量的值就改变了,可以在这个类⾥使⽤。
举个实际的例⼦:⽐如两个同名同姓双胞胎兄弟王尼玛,⼀个是在我们⾃⼰班的,⼀个是在隔壁班的。
隔壁班的王尼玛带了⼀块⽩板,上⾯写了⼀个数字56,来到我们班找他的兄弟。
此时我们班的王尼玛就是this.王尼玛,就跟他隔壁班的兄弟王尼玛区分开了。
我们班的this.王尼玛也有⼀个⽩板,不过是空⽩的。
隔壁班的王尼玛⽤笔照着他的⽩板也给this.王尼玛的⽩板写了⼀个数字56,然后回去他们班了。
但此时this.王尼玛的⽩板⼀直都有数字56了,他就可以在我们班使⽤这个数字为56的⽩板。
⾃⼰写的两个简单的计算器类:其中public static int addtion是静态⽅法,其它的都是实例⽅法。
/*** 2使⽤Eclipse编写⼀个控制台程序,定义⼀个Calculator计算器类, 编写⼀个addition ⽅法* 实现对给定的2个int类型数据进⾏计算的功能并返回这2个数据计算的结果; 编写⼀个subtraction* ⽅法实现对给定的2个double类型数据进⾏减法计算的功能并这2个数据计算的结果.*//*** 3 延续任务2, 定义表⽰圆形,三⾓形和梯形的类并在以上三个类中定义圆* 的半径,三⾓形的底和⾼,梯形的上底下底和⾼属性并设置set和get⽅法;* 在Calculator中定义能够实现计算图形⾯积的⽅法,能够对给定的以上圆* 形,三⾓形和梯形实现计算⾯积功能并最终返回计算后的⾯积结果.*/package mission2;public class Calculator {/*addition静态⽅法*///试⼀下使⽤静态⽅法public static int addition(int num1, int num2, int tag){if (tag==1)return num1+num2;else if (tag==2)return num1-num2;else if (tag==3)return num1*num2;else if (tag==4&&num1!=0&&num1!=0)return num1/num2;elsereturn 0;}/*subtraction构造⽅法*///定义两个成员变量double num5 = 0;double num6 = 0;//定义⼀个double参数类型的构造⽅⽅法public double subtraction(double num5,double num6){this.num5 = num5;this.num6 = num6;return num5-num6;}/*试⼀下⽅法重载来定义圆形,三⾓形,梯形的计算⽅法*///计算圆形的⾯积⽅法double i = 0;double j = 0;double k = 0;public double calculateArea(double i){this.i = i;return i*i*Math.PI;}//计算三⾓形的⾯积⽅法public double calculateArea(double i,double j){this.i = i;this.j = j;return i*j/2;}//计算梯形⾯积的⽅法public double calculateArea(double i,double j,double k){this.i = i;this.j = j;this.k = k;return (i+j)*k/2;}}/*** 2使⽤Eclipse编写⼀个控制台程序,定义⼀个Calculator计算器类,* 编写⼀个addition ⽅法实现对给定的2个int类型数据进⾏计算的功* 能并返回这2个数据计算的结果; 编写⼀个subtraction ⽅法实现对* 给定的2个double类型数据进⾏减法计算的功能并这2个数据计算的结果. *//*** 3 延续任务2, 定义表⽰圆形,三⾓形和梯形的类并在以上三个类中定义圆 * 的半径,三⾓形的底和⾼,梯形的上底下底和⾼属性并设置set和get⽅法;* 在Calculator中定义能够实现计算图形⾯积的⽅法,能够对给定的以上圆* 形,三⾓形和梯形实现计算⾯积功能并最终返回计算后的⾯积结果.*/package mission2;import java.util.Scanner;public class TestCalculator {public static void main(String[] args) {//定义Scanner接收⽤户输⼊Scanner input = new Scanner(System.in);//先new⼀下Calculator类以便使⽤它的构造⽅法Calculator cal = new Calculator();/*使⽤addition⽅法的练习*///定义3个变量接收⽤户输⼊int num1 = 0;int num2 = 0;int tag = 0;System.out.println("请输⼊第⼀个数:");num1 = input.nextInt();System.out.println("请输⼊第⼆个数:");num2 = input.nextInt();System.out.println("请输⼊计算类型:1加法,2减法,3乘法,4除法"); tag = input.nextInt();//调⽤静态⽅法进⾏计算,⽤num4来接收计算结果int num4 = Calculator.addition(num1,num2,tag);System.out.println("您输⼊的两个数计算结果是:"+num4);/*使⽤subtraction⽅法的练习*///定义2个变量接收⽤户输⼊,1个变量接收计算结果double num5 = 0;double num6 = 0;double num7 = 0;System.out.println("请输⼊减数:");num5 = input.nextDouble();System.out.println("请输⼊被减数:");num6 = input.nextDouble();//调⽤构造⽅法执⾏减法num7 = cal.subtraction(num5,num6);System.out.println("两数相减计算的结果为:"+num7);/*计算图形⾯积的⽅法的练习*///定义area接收计算结果,定义i,j,k接收⽤户输⼊double area = 0;double i = 0;double j = 0;double k = 0;//请⽤户输⼊要计算什么图形的⾯积,并定义⼀个循环do {System.out.println("请输⼊要计算什么图形的⾯积:1原型 2三⾓形 3梯形");int e = input.nextInt();if (e==1){System.out.println("请输⼊圆的半径:");i = input.nextDouble();area = cal.calculateArea(i);break;}else if(e==2){System.out.println("请输⼊三⾓形的底边长:");i = input.nextDouble();System.out.println("请输⼊三⾓形的⾼:");j = input.nextDouble();area = cal.calculateArea(i,j);break;}else if(e==3){System.out.println("请输⼊梯形的上底边长:");i = input.nextDouble();System.out.println("请输⼊梯形的下底边长:");j = input.nextDouble();System.out.println("请输⼊梯形的⾼:");k = input.nextDouble();area = cal.calculateArea(i,j,k);break;}elsecontinue; //如果⽤户输⼊不合法,则重新执⾏⼀次循环}while(true);System.out.println("计算的⾯积为:"+area);}}。
关键字和是初学者比较头疼地知识点,自己也一直比较模糊.现在整理一下,既可以加深自己地印象也可以便于以后查询.
其实在里关于为什么要使用写地比较详细,不明白地多读几遍会有很大地收获.一般在两钟情形下需要使用关键字:一种情形是只想用一个存储区域来保存一个特定地数据——无论要创建多少个对象,甚至根本不创建对象.另一种情形是我们需要一个特殊地方法,它没有与这个类地任何对象关联.也就是说,即使没有创建对象,也需要一个能调用地方法.一旦将什么东西设为,数据或方法就不会同那个类地任何对象实例联系到一起.所以尽管从未创建那个类地一个对象,仍能调用一个方法,或访问一些数据.而在这之前,对于非数据和方法,我们必须创建一个对象,并用那个对象访问数据或方法.这是由于非数据和方法必须知道它们操作地具体对象.有这样地一个类,其中定义一个静态数据:
{
;
}
();();即使们了两个对象,但它们仍然只占据地一个存储空间.这两个对象都共享同样地.对方法来说,一项重要地用途就是帮助我们在不必创建对象地前提下调用那个方法.文档来自于网络搜索
静态变量)一个静态对象属于一个类,但它不属于实例对象,也不是实例对象状态地一部分.每一个静态变量只存在一份.静态变量通常称为类变量().在实际中,经常需要这样地一个变量,它被一个类地所有实例对象所共享,如果它同时又是公有地,那么它就可以被这个类地任意访问者所使用.静态变量存在于类地作用域之内.通常声明为中许多时候会用到这样地变量. 静态变量可以被位于同一个作用域内地任意方或静态方法访问,访问时使用变量名称即可.如果在类作用域以外访问类,则要使用一个含有类名地表达式访问静态变量,例如:
, 其中是在类库中声明过地.文档来自于网络搜索
静态方法)静态方法或类方法属于一个而不是属于某个实例对象实现地一部分.可以直接通过类来调用这种方法,而并不是只能由某个特定地实例对象调用.静态地方法不能用声明,而且无论是否明确地指定实际上都是型地. 静态方法地声明格式:
(){
}
(可以从中选择一个),后面可以加上中地一个或几个地组合.
是静态方法地一个特殊用法,用方法来建立程序地初始状态,创建一组初始对象,并进行合理地方法调用,使得程序能够继续执行下去,方法使用数组型参数包含了用户在运行时给出地任意命令行参数.文档来自于网络搜索
静态初始化器)静态初始初始化器()时一个语句序列,在装入一个类时执行它.我们用它来初始化静态变量,并且苦于完成一个类所需地其他初始化工作.静态变量可以被直接初始化,但是要进行更复杂地初始化,就需要静态初始化器.它提供了一种与实例变量初始化类似地机制.形式:
{ } 文档来自于网络搜索
关于.
关键字(注意只能在方法内部使用).是一个变量,在构造函数,实例方法和实例初始化器中被自动声明.它持有对调用该构造函数,方法或者初始化器地对象地一个引用.地类型就是这个对象地引用地类型.
()当一个实例变量有可能被嵌套范围内地一个参数名称覆盖时:
()
{
}
...
;
}
()传递一个当前地对象地引用给其他类地其他方法:
{
...
();
...
()
...
}
()在构造函数相互关联地情况下,使用可以让一个构造函数调用另外一个构造函数.用法是在一个表达式后面追加一个位于括号中地参数列表,就可以调用与参数列表相匹配地构造函数.
(){
()调用另一个型地函数
} 若准备从自己某个类地另一个方法内部调用一个类方法.就不必使用.只需简单地调用那个方法即可.当前地句柄会自动应用于其他方法.文档来自于网络搜索。