精华内容
下载资源
问答
  • Java中final和static区别

    热门讨论 2019-10-10 08:44:39
    J2SE中讲到fianl关键字时说到用它修饰的东西不可被修改,联系到机房...当定义一个static的变量的时候jvm会将将其分配内存堆上,所有程序对它的引用都会指向这一个地址而不会重新分配内存; 当修饰一个程序块...

    J2SE中讲到fianl关键字时说到用它修饰的东西不可被修改,联系到在机房重构过程中用static传登录界面的账号也是为了使传的数据不被修改,既然都是为了使数据不被修改,那么它俩的区别在哪。

    static是静态修饰关键字,可以修饰变量和程序块以及类方法:

    当定义一个static的变量的时候jvm会将将其分配在内存堆上,所有程序对它的引用都会指向这一个地址而不会重新分配内存

    当修饰一个程序块的时候(也就是直接将代码写在static{...}中),虚拟机就会优先加载静态块中代码,这主要用于系统初始化;

    当修饰一个类方法时候可以直接通过类来调用而不需要新建对象

    final可以修饰变量、方法及类:

    当定义一个final变量时,jvm会将其分配到常量池中,程序不可改变其值;

    当修饰一个方法时,该方法在子类中将不能被重写;

    当修饰一个类时,该类不能被继承。

     

    static变量:

    按照是否静态的对类成员变量进行分类可分两种:一种是被static修饰的变量,叫静态变量或类变量;另一种是没有被static修饰的变量,叫实例变量。两者的区别是:

    对于静态变量在内存中只有一个拷贝(节省内存),JVM只为静态分配一次内存,在加载类的过程中完成静态变量的内存分配,可用类名直接访问(方便),当然也可以通过对象来访问(但是这是不推荐的)。对于实例变量,没创建一个实例,就会为实例变量分配一次内存,实例变量可以在内存中有多个拷贝,互不影响(灵活)。

    static方法

    静态方法可以直接通过类名调用,任何的实例也都可以调用,因此静态方法中不能用this和super关键字,不能直接访问所属类的实例变量和实例方法(就是不带static的成员变量和成员成员方法),只能访问所属类的静态成员变量和成员方法。因为static方法独立于任何实例,因此static方法必须被实现,而不能是抽象的abstract。

    final变量

    对于基本类型使用final:它就是一个常量,数值恒定不变

    对于对象引用使用final:使得引用恒定不变,一旦引用被初始化指向一个对象,就无法再把它改为指向另一个对象。

    final方法

    将方法定义为final类型可以防止任何子类修改该类的定义与实现方式,同时定义为final的方法执行效率要高于非final方法。如果一个父类的某个方法被设置为private修饰符,子类将无法访问该方法,也就无法覆盖该方法,所以一个定义为private的方法隐式被指定为final类型,这样就无须将一个定义为private的方法再定义为final类型。

    展开全文
  • 形参表中给出的参数称为形式参数, 它们可以各种类型的变量, 各参数之间用逗号间隔。进行函数调用时,主调函数将赋予这些形式参数实际的值。 形参既然变量,当然必须给以类型说明。例如,定义一个函数, ...
  • 5.5 使用非零位模式作为空指针的内部表示的机器上,NULL 如何定义的? 85 5.6 如果NULL定义成#define NULL((char *)0) ,不就可以向函数传入不加转换的NULL 了吗? 86 5.7 我的编译器提供的头文件中定义的...
  • 5.5 使用非零位模式作为空指针的内部表示的机器上,NULL 如何定义的? 5.6 如果NULL定义成#define NULL((char *)0) ,不就可以向函数传入不加转换的NULL 了吗? 5.7 我的编译器提供的头文件中定义的NULL为0L。为...
  • 5.5 使用非零位模式作为空指针的内部表示的机器上,NULL 如何定义的? 5.6 如果NULL定义成#define NULL((char *)0) ,不就可以向函数传入不加转换的NULL 了吗? 5.7 我的编译器提供的头文件中定义的NULL为0L。为...
  • 5.5 使用非零位模式作为空指针的内部表示的机器上,NULL如何定义的? 5.6 如果NULL定义成#defineNULL((char*)0),不就可以向函数传入不加转换的NULL了吗? 5.7 我的编译器提供的头文件中定义的NULL为0L。为...
  • 《你必须知道495个C语言问题》

    热门讨论 2010-03-20 16:41:18
    5.5 使用非零位模式作为空指针的内部表示的机器上,NULL 如何定义的? 56 5.6 如果NULL定义成#define NULL((char *)0) ,不就可以向函数传入不加转换的NULL 了吗? 57 5.7 我的编译器提供的头文件中定义的...
  • 5.5 使用非零位模式作为空指针的内部表示的机器上,NULL 如何定义的? 56 5.6 如果NULL定义成#define NULL((char *)0) ,不就可以向函数传入不加转换的NULL 了吗? 57 5.7 我的编译器提供的头文件中定义的...
  • 一小时内学会 C#(txt版本)

    热门讨论 2009-08-19 18:09:37
    4. C# 中没有全局变量或全局函数,取而代之的是通过静态函数和静态变量完成。 数据类型 所有 C# 类型都从 object 类继承。有两种数据类型: 1. 基本/内建类型 2. 用户定义类型 以下 C# 内建类型...
  • 这样,因为w 是在if 语句里定义的,所以当if 语句执行完后它就无效了。这样 导致的后果就是,按下enterBtn 后,主界面窗口一闪就没了。如果此时对程序 改动了,再次点击运行时,就会出现error: collect2: ld ...
  • 你必须知道495个C语言问题(PDF)

    热门讨论 2009-09-15 10:25:47
    5.4 NULL 什么, 它怎么定义的? . . . . . . . . . . . . . . . . . . 23 5.5 使用非全零作为空指针内部表达的机器上, NULL 如何定义 的? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ...
  • 利用计算机算法为计算机解题的过程实际上是在实施某种算法。 (1)算法基本特征 算法一般具有4个基本特征:可行性、确定性、有穷性、拥有足够情报。 (2)算法基本运算和操作 算法基本运算和操作包括:算术...
  • 7.3.5 成员函数定义的位置 309 7.3.6 内联函数 309 7.4 类构造函数 310 7.4.1 构造函数的概念 311 7.4.2 默认的构造函数 312 7.4.3 类定义中指定默认的形参值 314 7.4.4 构造函数中使用初始化列表 316 ...
  • 7.3.5 成员函数定义的位置 309 7.3.6 内联函数 309 7.4 类构造函数 310 7.4.1 构造函数的概念 311 7.4.2 默认的构造函数 312 7.4.3 类定义中指定默认的形参值 314 7.4.4 构造函数中使用初始化列表 316 ...
  • 20.设 i,j 为类 x 中定义的 double 型变量名,下列 x 类的构造函数中不正确的( )。 A) double x(double k ){ i=k; return i; } B) x(double m, double n ){ i=m; j=n; } C) x( ){i=0;j=0 } D) x(double k ){ i=k;...
  • c# 加密和解密相关代码

    热门讨论 2011-09-06 11:04:59
    实现本实例之前先来简要了解一下加密概念,加密指通过 某种特殊方法,更改已有信息内容,使得未授权用户即使得到 了加密信息,如果没有正确解密方法,也无法得到信息内容。谈 到加密话题,一些...
  • SSO-WebDemo

    2013-08-12 20:25:57
    SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任应用系统。 较大企业内部,一般都有很多业务支持系统为其提供相应管理和IT服 务。例如财务系统为财务人员提供财务管理、计算和...
  • o 6.5 使用非全零作为空指针内部表达的机器上, NULL 如何定义的? o 6.6 如果 NULL 定义成 #define NULL ((char *)0) 难道不就可以向函数传入不加转换的 NULL 了吗? o 6.7 如果 NULL 和 0 作为空指针常数...
  • 2.4.9 路由器配置过程中查询以S开头所有命令方法? 2.5.0 第一次配置路由器时可以使用方法为? 2.5.1 何种状态下可以为路由器改名? 2.5.2 某公司申请到一个C类IP地址,但要连接6个子公司,最大...
  • asp.net知识库

    2015-06-18 08:45:45
    利用自定义属性,定义枚举值详细文本 Web标准和ASP.NET - 第一部分 XHTML介绍 ASP.NET页面中推荐使用覆写(Override)而不是事件处理(Event Handler) 常用编码工具类,支持base64,md5,des,crc32 也谈谈技术面试...
  • 最新Java面试宝典pdf版

    热门讨论 2011-08-31 11:29:22
    12、静态变量和实例变量区别? 12 13、是否可以从一个static方法内部发出对非static方法调用? 12 14、Integer与int区别 13 15、Math.round(11.5)等於多少? Math.round(-11.5)等於多少? 13 16、下面代码有...
  • Java面试宝典2010版

    2011-06-27 09:48:27
    12、静态变量和实例变量区别? 13、是否可以从一个static方法内部发出对非static方法调用? 14、Integer与int区别 15、Math.round(11.5)等於多少? Math.round(-11.5)等於多少? 16、下面代码有什么不妥之...
  • 12、静态变量和实例变量区别? 12 13、是否可以从一个static方法内部发出对非static方法调用? 12 14、Integer与int区别 13 15、Math.round(11.5)等於多少? Math.round(-11.5)等於多少? 13 16、下面代码有...
  • 7.6 创建用户定义的错误 154 7.7 使用定制的错误日志追踪错误 156 7.7.1 错误日志例程的声明节 156 7.7.2 调用错误日志的错误处理程序的示例 157 7.7.3 每个错误的跟踪信息 158 7.7.4 检查实际的错误日志...
  • delphi 开发经验技巧宝典源码

    热门讨论 2010-08-12 16:47:23
    0048 在过程中使用数组参数 31 0049 在过程中使用默认参数 31 2.4 其他 32 0050 如何在字符串中使用单引号 32 0051 结构对象的定义与使用 32 0052 使用数组为TlistView组件动态创建字段 33 0053 解决...
  • C#编程经验技巧宝典

    热门讨论 2008-06-01 08:59:33
    111 <br>0184 如何ASP.NET中获取文件扩展名 111 <br>0185 如何ASP.NET中用URL页面之间传值 112 <br>0186 如何使用IsPostBack实现ASP.NET页面加载 112 <br>0187 如何利用输出缓存技术缓存...
  • 否则,如果将正极(阳极)内接一 起引出,则称为共阳数码管,共同引脚则称为共阳极,8 个负极则为段极。 以单支共阴数码管为例,可将段极接到某端口 Pn,共阴极接 GND,则可编写出对应十六进制码 七段码表...
  • Java 面试宝典

    2013-02-01 10:02:08
    12、静态变量和实例变量区别? ............................................................................. 12 13、是否可以从一个 static 方法内部发出对非 static 方法调用? ...........................

空空如也

空空如也

1 2
收藏数 31
精华内容 12
关键字:

在过程中用定义的变量是静态变量