总结.NET 中什么时候用 Static】的更多相关文章

原文:C语言中关键字auto.static.register.const.volatile.extern的作用 关键字auto.static.register.const.volatile.extern这些关键词都是c++基础知识,我整理了一下,希望对新学的朋友们有用:(1)auto 这个这个关键字用于声明变量的生存期为自动,即将不在任何类.结构.枚举.联合和函数中定义的变量视为全局变量,而在函数中定义的变量视为局部变量.这个关键字不怎么多写,因为所有的变量默认就是auto的.(2)regist…
本篇文章主要分享一下关于php类中的$this,static,final,const,self这几个关键字使用方法 $this $this表示当前实例,在类的内部方法访问未声明为const及static的属性时,使用$this->value='phpernote';的形式.常见用法如:$this->属性,$this->方法 <?php /** * 有关人类 */ class Person { private $name='张三'; public $sex; public funct…
 Java中主类中定义方法加static和不加static的区别(前者可以省略类名直接在主方法调用(类名.方法),后者必须先实例化后用实例调用) 知识点:1.Getter and Setter 的应用 2.局部变量与成员变量(也可叫做全局变量) 3.Static关键字的用法 a.成员变量被static修饰后的所有类的共享属性 b.方法被static修饰之后,在本类内调用的类名省略问题;以及不用Static,即使在本类内也必须先实例化 4.This关键字的用法 this:是当前类的对象引用.简单的…
TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [os.path.join(BASE_DIR, 'templates')] , 'APP_DIRS': True, 'OPTIONS': { 'context_processors': [ 'django.template.context_processors.debug', 'django.template.context_…
类字面常量 final 静态域不会触发类的初始化操作 非 final static 静态域(以及构造器其实是一种隐式的静态方法) Class.forName():会自动的初始化: 使用 .class来创建对 class 对象的引用,不会自动地初始化该 class 对象,初始化被延迟到了对静态方法(构造器隐式的是静态的)或者非final静态域(注意final静态域不会触发初始化操作)进行首次引用时才执行. 1. static{} 静态代码块与 {} 非静态代码块 二者均是在 JVM 加载类时,且在…
1.extern #import <Foundation/Foundation.h> extern NSString *DBDefaultName; @interface DataBase : NSObject @end #import "DataBase.h" NSString *DBDefaultName = @"default.sqlite"; @implementation DataBase @end extern可置于变量或者函数前,以表示变量…
用static修饰符修饰的数据成员,并不是属于那个对象的,而是属于类.静态数据成员在定义的时候已经分配了内存,而此时对象还没有建立好. 当然它也是被保存到类的方法中的,而不是对象内存中,大家都是可以访问,可以通过类名访问,这点在C++中也是如此. 静态数据成员属于类的作用域,也可以使用public,private,等进行修饰,但是访问层次不同. 以下是java代码: import  java.text.NumberFormat;import  java.util.Locale;import  j…
回顾这两个关键字前,先考虑一个问题: Static变量存储在JVM中的位置,或者说static变量是如何被加载的? JVM会把类的静态方法和静态变量在类加载的过程中读入方法区(Method Area),相当于常驻内存,如果一个方法或者变量声明为static,可以节约内存,不必要为每个对象实例化的时候分配内存. >>final关键字 根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类.非抽象类成员方法和变量.final类不能被继承,没有子类,f…
今天看程序员面试宝典的时候遇到一个问题,书上有这么一句话:sizeof计算栈中分配的大小.咋一看这句话的时候,很不理解,难道像函数中类似于static.extern const类型的变量的sizeof都是0? 本着实践出真知的原则,我测试了一下: static int s = 10; extern const int h = 10; void main() { cout << sizeof(s) <<endl<<sizeof(h)<< endl; getch…
一.const 1>对于const,记住关键的一点,它只是修饰右边的变量. 例如: - (void)viewDidLoad { [super viewDidLoad]; // const两种用法 // const:修饰基本变量p // 这两种写法是一样的,const只修饰右边的基本变量b ; // b:只读变量 ; // b:只读变量 // const修饰指针变量访问的内存空间,修饰的是右边*p1, // 两种方式一样 const int *p1; // *p1:常量 p1:变量 int con…
this关键字 1. this 关键字是类内部当中对自己的一个引用,可以方便类中方法访问自己的属性: 2.可以返回对象的自己这个类的引用,同时还可以在一个构造函数当中调用另一个构造函数(这里面上面有个问题) 例: this(); 必须放在第一行代码中 Static关键字 1.静态成员变量 例: static int age; 可以直接用类名调用赋值 静态变量被所有的对象所共享,在内存中只有一个副本,它当且仅当在类初次加载时会被初始化 2.静态函数 例:static void talk(){...…
许多程序设计语言都有自己的办法告诉编译器某个数据是"常数".常数主要应用于下述两个方面: (1) 编译期常数,它永远不会改变 (2) 在运行期初始化的一个值,我们不希望它发生变化 对于编译期的常数,编译器(程序)可将常数值"封装"到需要的计算过程里.也就是说,计算可在编译期间提前执行,从而节省运行时的一些开销.在Java中,这些形式的常数必须属于基本数据类型(Primitives),而且要用final关键字进行表达.在对这样的一个常数进行定义的时候,必须给出一个值.…
静态修饰符static,用于修饰类中的成员变量和成员函数. 用static修饰的成员变量也可叫做类变量. 什么时候使用静态 什么时候定义静态成员变量?     当对象中出现共享数据时,将该数据定义为静态成员变量. 什么时候定义静态成员函数?     当功能内部没有访问到非静态数据时,该功能可以定义成静态. static的特点: 1. 随着类的加载而加载,随着类的消失而消失.(其生命周期在该类中最长) 2. 优先于对象而存在,且被所有的对象所共享. 3. 可以直接被类名调用. /* 定义一个Dem…
final 关键字 final关键字主要用在三个地方:变量.方法.类. 对于一个final变量,如果是基本数据类型的变量,则其数值一旦在初始化之后便不能更改:如果是引用类型的变量,则在对其初始化之后便不能再让其指向另一个对象. 当用final修饰一个类时,表明这个类不能被继承.final类中的所有成员方法都会被隐式地指定为final方法. 使用final方法的原因有两个.第一个原因是把方法锁定,以防任何继承类修改它的含义:第二个原因是效率.在早期的Java实现版本中,会将final方法转为内嵌调…
今天敲代码的时候遇到了这个问题,大体这个问题可以简化成这样: public class Test1 { public String get() { return "123"; } public static void main(String[] args) { String string =get(); } } 1 2 3 4 5 6 7 8 9 10 显示 Cannot make a static reference to the non-static method get() fr…
package com.wangcf; public class Test { String name="你好"; static String sex="男"; Test t=new Test(); /** * 静态方法中可以直接调用同类中的静态成员,但不能直接调用非静态成员 * 如果希望在静态方法中调用非静态变量,可以通过创建类的对象,然后通过对象来访问非静态变量 */ public static void print(){ Test test=new Test(…
static:1.a.c语言中static修饰的局部变量在编译时赋初始值,只赋初始值一次,在函数运行时已有初值,每次调用函数时不用重新赋值,指示保留上次 函 数调用结束时的值. 如果定义局部变量不赋初值的话编译时自动赋值0或‘0’ 在程序整个运行期间不释放,虽然在函数调用后仍存在,但其他函数不能引用它 b.全局变量是从变量定义出开始到本文件的末尾. c.静态函数的作用于仅限于此文件,所以不用担心与同名的内部函数冲突. 2.c++类的静态成员是该类型的所有对象所共享,存储在数据段,类的成员函数没有…
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/huyuyang6688/article/details/28230345        简单了解了一下C#之后,非常快就要開始重构机房收费系统了,有人选择用C#来实现,只是还是想好好了解一些VB.net.用它来实现.          有了VB和面向对象基础.学习VB.NET是极易上手的.学习了几种语言的我们都有一种体会,编程语言就是一门语言,一个工具,通过它来实现某些功能.假如我们之前学过C++…
final final可以用在类.方法.变量上. 1.final用在类上,表明当前类它不能被继承,没有子类. 2.final用在方法上,表明当前方法不能被override,不能被重写. 3.final用在变量上,表明当前变量是一个终态的变量,是一个常量,这个变量的值一但被赋值后就不能被改变了. 对于final类型的成员变量的初始化方式: 1.声明变量时直接赋值 2.在构造方法中完成赋值,如果一个类有多个构造方法,就要保证在每个构造方法中都要完成对该final类型变量的初始化工作.//大概是因为构…
在C语言中,关键字static有三个明显的作用:1). 在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变.2). 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问.它是一个本地的全局变量.3). 在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用.那就是,这个函数被限制在声明它的模块的本地范围内使用.大多数应试者能正确回答第一部分,一部分能正确回答第二部分,同是很少的人能懂得第三部分.这是一个应试者的严重的缺点,因…
转自:http://www.cnblogs.com/yueue/archive/2010/04/20/1715863.html 一,抽象类:abstract     1,只要有一个或一个以上抽象方法的类,必须用abstract声明为抽象类;     2,抽象类中可以有具体的实现方法;     3,抽象类中可以没有抽象方法;     4,抽象类中的抽象方法必须被它的子类实现,如果子类没有实现,则该子类继续为抽象类     5,抽象类不能被实例化,但可以由抽象父类指向的子类实例来调用抽象父类中的具体…
第一步:写注解@Component 使当前类成为一个bean对象.(@Controller,@service都行) 第二步:写个static的变量 第三步:写个@PostConstruct注解注解注释的方法,在这个方法里,将自动注入的值赋值给定义的static变量 第四步:static变量替代自动注入在static方法里面使用 @Component public class DSHWechatApiUtil extends DSHBaseController {     @Autowired  …
今天敲代码的时候发现,出现了这样一个情况: 我在我在main方法中调用了一个函数,并且这个函数没有用static修饰,就像这样: 这样报错了!!! 我虽然学Java 的时间也不多,但这个问题也帮助我更深刻的理解了一些东西. 我的方法体中间没有加上static,加上static之后就不报错了,像这样: 那么,为什么一定要加main呢?在Java的main主函数中调用别的函数的时候应该怎么办呢? 先解释这个: 用static修饰的方法,无须产生类的实例对象就可以调用该方法. 没有static修饰的方…
之前Java接口中的方法默认都是public abstract,成员变量默认都是public static final,偶然发现接口中可以有default类型的方法,才知道java8中接口可以有自己的实现了.那么jdk1.8究竟对接口做了哪些修改呢? (1) 增加default方法.default方法作用范围也是public,只是有了具体实现的方法体.对已有的接口,如果想对接口增加一个新方法,那么需要对所有实现该接口的类进行修改.而有了default方法,可以解决该问题. (2) 新增stati…
[问题描述]关于Java中synchronized 用在实例方法和对象方法上面的区别 [问题分析]大家都知道,在Java中,synchronized 是用来表示同步的,我们可以synchronized 来修饰一个方法(实例方法和类方法---注:不知道这样叫准确不准确,大家理解我的意识就行了).也可以synchronized 来修饰方法里面的一个语句块. 修饰实例方法: public synchronized void x() throws InterruptedException { ; i++…
1 每个对象中的常量 --- const数据成员 const限定,意味着“在该对象生命周期内,它是一个常量”. 关键字const 使被限定的量为常量 在该类的每个对象中,编译器都为其const数据成员分配存储空间.在该类的每个对象中,const数据成员可以取不同的值(可以初始化成不同的值),但是const数据成员的值一旦初始化以后就不能改变. 该初始化工作必须在构造函数里进行 2 类的编译时常量 --- 类的静态常量数据成员 static const 类的一个常量成员,该类的所有对象都只有一个实…
 part 1         /**          * << class 中的 static 代码块与 super.prop 的使用          *          * - 类中的 static 代码块.          *   该类型代码块可以有多个,这些代码块在类定义的时候执行,          *   执行顺序是自上而下逐个执行.          *   | 该代码块中的 this 指向当前的类,在代码块中可以直接通过 new this() 来创建类的实例.    …
静态类和类成员用于创建无需创建类的实例就能够访问的数据和函数.当类中没有依赖对象标识的数据或行为时,就可以使用静态类.静态类成员是可独立于任何对象标识的数据和行为,即无论对象发生什么更改,这些数据和函数都不会随之变化,简单的说,和状态(或对象)无关的就用静态方法, 比如:猴子,他拥有“吃”和“睡”这些动物具有的共同行为,这些与对象无关的行为,就可以看做是静态的,然后像爬树等他特有的行为,就不能用静态方法了 1:静态类只能包含静态成员,非静态类既可以包含非静态成员也可以包含静态成员: 2:静态类是…
package lsg.ap.april4th2; /* 知识点:1.Getter and Setter 的应用 2.局部变量与成员变量(也可叫做全局变量) 3.Static关键字的用法 a.成员变量被static修饰后的所有类的共享属性 b.方法被static修饰之后,在本类内调用的类名省略问题;以及不用Static,即使在本类内也必须先实例化 4.This关键字的用法 this:是当前类的对象引用.简单的记,它就代表当前类的一个对象. 注意:谁调用这个方法,在该方法内部的this就代表谁.…
首先理解静态变量的区别,声明一个函数test() function num(){ $a = 0; echo $a; $a++; } num();num();num(); //输出000 function num(){ static $a = 0; echo $a; $a++; } num();num();num(); //输出012 从上面可以看到使用static的区别,static可以在函数被重复调用的时候,static变量保留上次执行函数后的结果. 可以利用此类特性做隔行变色等 functi…