static修饰类的作用】的更多相关文章

Java里面static一般用来修饰成员变量或函数.但有一种特殊用法是用static修饰内部类,普通类是不允许声明为静态的,只有内部类才可以.被static修饰的内部类可以直接作为一个普通类来使用,而不需实例一个外部类(见如下代码) Java代码 public class OuterClass { public static class InnerClass{ InnerClass(){ System.out.println("============= 我是一个内部类'InnerClass'…
static修饰的函数作用与意义 static修饰的函数叫做静态函数,静态函数有两种,根据其出现的地方来分类: 如果这个静态函数出现在类里,那么它是一个静态成员函数: 静态成员函数的作用在于:调用这个函数不会访问或者修改任何对象(非static)数据成员. 其实很好理解,类的静态成员(变量和方法)属于类本身,在类加载的时候就会分配内存,可以通过类名直接去访问:非静态成员(变量和方法)属于类的对象,所以只有在类的对象产生(创建类的实例)时才会分配内存,然后通过类的对象(实例)去访问. 如果它不是出…
Java中static修饰类的问题 众所周知,Java中static关键字可以修饰方法与变量: 修饰变量的时候,这个变量属于类变量,可以直接通过类名.变量名来引用. 修饰方法的时候可以直接通过类名.方法名来访问. 但大家可能不知道static关键字还可以修饰类,普通类是不允许声明为静态的,只有内部类才可以. 被static修饰的内部类可以直接作为一个普通类来使用,而不需实例一个外部类(见如下代码) package testStatic; class OuterClass { public sta…
MSDN上的定义 Use the static modifier to declare a static member, which belongs to the type itself rather than to a specific object. The static modifier can be used with classes, fields, methods, properties, operators, events, and constructors, but it can…
static修饰的函数叫做静态函数,静态函数有两种,根据其出现的地方来分类: 如果这个静态函数出现在类里,那么它是一个静态成员函数: 静态成员函数的作用在于:调用这个函数不会访问或者修改任何对象(非static)数据成员. 其实很好理解,类的静态成员(变量和方法)属于类本身,在类加载的时候就会分配内存,可以通过类名直接去访问:非静态成员(变量和方法)属于类的对象,所以只有在类的对象产生(创建类的实例)时才会分配内存,然后通过类的对象(实例)去访问. 如果它不是出现在类中,那么它是一个普通的全局的…
① 格式 : 1> static修饰的,称为静态成员,非static修饰的,称为非静态成员. ② 内存位置: 1>static修饰的,在方法区的静态区中,非static修饰的,在堆中的对象里. ③ 生命周期: 1> static修饰的 ,随着类的加载而加载,随着类的消亡而消亡,非static随着对象的创建而加载,随着对象的消亡而消亡. ④ 调用方式 : 1> static修饰的,通过类名.成员来调用 ,非static修饰的,通过对象.成员来调用.…
static在C#中表示的是静态的,比如一个静态的字段是归类型所有,而非归对象所有,也就是说,在调用这个字段时,只能用类型去调,而不能用对象. 实例字段时随着对象创建而创建,对象销毁而销毁,而静态字段是从该类被使用开始,一直到所有对象被销毁. 一个类里面有静态字段有时候会很方便处理一些重复性的问题 比如书上的一个例子: 银行卡的类实例化了很多张不同的卡, 很多张卡进行了以人民币为单位的交换,最终不同的卡输出了以人民币为单位的字符串, 而此刻我想把人民币改为港币,只需要把银行卡的静态成员修改为港币…
一.final final是不变的,最终的意思.可以用来修饰变量,方法,类. 1. 修饰变量 private final int a = 2; private final int b; // final 空白,必须在构造函数中指定初始值. // 因为static 的缘故,必须在定义时指定初始值,不能在构造函数中指定初始值. // 因为访问static 变量根本不用调用构造函数啊,笨蛋! private static final int c = 3; 2. 修饰方法 表示该方法不能被子类重写.使用…
1. static修饰的类只能为内部类,普通类无法用static关键字修饰.static修饰的内部类相当于一个普通的类,访问方式为(new 外部类名.内部类的方法() ).如下所示: public class OuterClass { public static class InnerClass{ InnerClass(){ System.out.println("============= 我是一个内部类'InnerClass' ============="); } } } publ…
题目(一):我们可以用static修饰一个类的成员函数,也可以用const修饰类的成员函数(写在函数的最后表示不能修改成员变量,不是指写在前面表示返回值为常量).请问:能不能同时用static和const修饰类的成员函数? 分析:答案是不可以.C++编译器在实现const的成员函数的时候为了确保该函数不能修改类的实例的状态,会在函数中添加一个隐式的参数const this*.但当一个成员为static的时候,该函数是没有this指针的.也就是说此时static的用法和static是冲突的. 我们…
Java里面static一般用来修饰成员变量或函数.但有一种特殊用法是用static修饰内部类,普通类是不允许声明为静态的,只有内部类才可以.被static修饰的内部类可以直接作为一个普通类来使用,而不需实例一个外部类(见如下代码) public class OuterClass { public static class InnerClass{ InnerClass(){ System.out.println("============= 我是一个内部类'InnerClass' =======…
今天继续研究公司的新项目,据说是京东的架构,研究看了一番,果然很牛逼,大致是Maven+spingmvc+spring+mybatis+ehcache+velocity来搭建的,数据库用的是mysql,开发工具用的是intelJ IDEA ,这个开发工具就不说了,刚接触各种懵逼,各种不会操作,但是总体感觉要比myeclipse反映的快,mybatis就更不用说了,但是用到的一个可以根据数据库表来自动生成mapper类(接口,持久层的dao类).mapper.xml.pojo,由于mybatis是…
1.static修饰一个属性字段,那么这个属性字段将成为类本身的资源,public修饰为共有的,可以在类的外部通过test.a来访问此属性;在类内部任何地方可以使用.如果被修饰为private私有,那么只能在类内部使用. public class Test{public static int a;private Test(){a=0;}} 如果属性被修饰为static静态类资源,那么这个字段永远只有一个,也就是说不管你new test()多少个类的对象,操作的永远都只是属于类的那一块内存资源.例…
java中普通的顶级类是不能使用static关键字修饰的.只有内部类可以使用static修饰,也可以不使用staitc关键字修饰. java中的类可以是static吗?答案是可以.在java中我们可以有静态实例变量.静态方法.静态块.类也可以是静态的. java允许我们在一个类里面定义静态类.比如内部类(nested class).把nested class封闭起来的类叫外部类.在java中,我们不能用static修饰顶级类(top level class).只有内部类可以为static.   …
<?php class test{ //定义一个类 public static $num=0; //定义static修饰的类属性 public function __construct(){ //定义构造方法 self::$num++; //每次调用均使$num变量递增 } } //实例化test类的三个对象 $test1=new test; $test2=new test; $test3=new test; //输出test类实例化对象的个数 echo 'test类一共实例化了'.test::…
static修饰符表示静态的,可修饰字段.方法.内部类,其修饰的成员属于类,也就是说static修饰的资源属于类级别,而不是对象级别. static的正真作用:用来区别字段,方法,内部类,初始化代码块是属于对象还是属于类本身. static修饰符的特点: 1. static修饰符的成员(字段/方法),随着所在类的加载而加载. 当JVM把字节码加载进JVM的时候,static修饰符的成员就已经在内存中了. 2. 优先于对象的存在 对象是我们手动通过new关键字创建出来的. 3. static修饰符…
Abstract 和Interface 方法是否能用Static修饰,为什么? interface中不能含有Static方法,属性,成员变量. Abstract中可以有Static方法,属性,成员变量.但static前不能用Abstract,Virtual,Overrid进行修饰 Static 修饰的方法是不能用this进行访问 原因:Static静态方法属于类,不属于任何成员.可以被直接调用,因此不管这个类的实例是否存在,他都会存在.(非静态方法通过类的对象进行销毁) Sleep和wait的区…
在clr var c#一书中,作者描述当用sealed修饰类时,可以提高系统性能而且建议大家也养成用sealed来修饰类的习惯.由于对性能二字比较敏感,所以本文先测试一下用sealed分别修饰和不修饰类时,new1亿次的时间,然后说一下我的看法,如果有更好的测试方法,欢迎大家在此交流. 首先上我的测试代码: class Program { static void Main(string[] args) { for (int j = 0; j < 10; j++) { V t = new T();…
static表示"全局"或者"静态"的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,但是Java语言中没有全局变量的概念. 被static修饰的成员变量和成员方法独立于该类的任何对象.也就是说,它不依赖类特定的实例,被类的所有实例共享. 只要这个类被加载,Java虚拟机就能根据类名在运行时数据区的方法区内定找到他们.因此,static对象可以在它的任何对象创建之前访问,无需引用任何对象. 用public修饰的static成员变量和成员方法本质是…