`
msn877763580
  • 浏览: 81169 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

static其它

阅读更多

1. static代码块:静态代码块。 静态代码块的作用也是完成一些初始化工作。首先执行静态代码块,然后执行构造方法。 静态代码块在类被加载的时候执行,而构造方法是在生成对象的时候执行;要想调用某个类来生成对象,首先需要将类加载到Java虚拟机上(JVM),然后由JVM加载这个类来生成对象。
2. 类的静态代码块只会执行一次,是在类被加载的时候执行的 ,因为每个类只会被加载一次,所以静态代码块也只会被执行一次;而构造方法则不然,每次生成一个对象的时候都会调用类的构造方法,所以new一次就会调用构造方法一次。
3. 如果继承体系中既有构造方法,又有静态代码块,那么首先执行最顶层的类的静态代码块,一直执行到最底层类的静态代码块,然后再去执行最顶层类的构造方法,一直执行到最底层类的构造方法。注意:静态代码块只会执行一次。
4. 不能在静态方法中访问非静态成员变量;可以在静态方法中访问静态的成员变量。可以在非静态方法中访问静态的成员变量。
5. 总结:静态的只能访问静态的;非静态的可以访问一切。
6. 不能在静态方法中使用this关键字

关于this:

this关键字是一个对象的默认引用,它总是指向调用该方法的对象。

下面用一个小程序说明:

public class TestThis {
	public static void main(String[] args) {
		ThisDemo td = new ThisDemo();
		td.print();
	}
}
class ThisDemo{
	public void print(){
		System.out.println(this.getClass());
	}
}

 程序打印结果:ThisDemo

这也正说明了this是调用该方法的对象

 

分享到:
评论

相关推荐

    static 用法

    varA是static类型, 无法在其他文件中使用 extern vod funA(); // 使用file1.cpp中定义的函数 extern void funB(); // 错误! 无法使用file1.cpp文件中static函数 三、静态数据成员/成员函数(C++特有) C++...

    static变量和static函数的用法摘抄

    全局变量(外部变量)的说明之前再冠以static 就构成了静态的全局变量。全局变量本身就是静态存储方式, 静态全局变量当然也是静态存储方式。 这两者在存储方式上并无不同。这两者的区别虽在于非静态全局变量的作用域...

    glibc-static-2.17-292.el7.x86_64.rpm

    Linux依赖包glibc-static-2.17-292.el7.x86_64.rpm,glibc是linux系统中最底层的api,几乎其它任何运行库都会依赖于glibc。

    static-binaries, 作为静态链接二进制文件生成的各种 *nix 工具.zip

    static-binaries, 作为静态链接二进制文件生成的各种 *nix 工具 静态二进制文件这个 repo 包含一组静态链接的各种工具,以及 Dockerfiles/其他构建脚本,这些脚本可以用来构建它们。 我通常只是根据需要创建这些工具...

    E语言免杀之易语言程序永久去除-EL-HideOwner的附件krnln-static.zip

    首先找到易语言安装目录,然后打开static_lib文件夹,可以看到里面有个krnln_static.lib文件。 我们只需要用其他文件替换下它即可解决易语言免杀功能了。 _EL_HideOwner 全部改为 13个字符。 至于替换文件在附件...

    C语言中static的作用.pdf

    静态函数的作用范围局限于当前编译单元(即包含它的源文件),不能被其他文件中的函数直接调用。这有助于隐藏实现细节,减少不同模块间的耦合度。 总结起来,static关键字主要影响了变量或函数的存储期(生命周期)...

    ios-block的局部变量和全局变量和static的静态变量联系.zip

    block,局部变量,全部变量,static的静态变量关系

    static spuer final

    即使没有学过Java,而学过其它的高级语言,例如C,那您也应该能看懂这段代码的意思。它只是简单的输出“Hello,world”,一点别的用处都没有,然而,它却展示了static关键字的主要用法。 在1处,我们定义了一个静态...

    ffmpeg-static:适用于Mac OSX,Linux和Windows的ffmpeg静态二进制文件

    ffmpeg-static 适用于Mac OSX,Linux,Windows和FreeBSD的静态二进制文件。 支持macOS(64位和arm64)...电子及其他跨平台包装工具 由于ffmpeg-static将下载特定于操作系统/平台的二进制文件,因此您需要在将应用程序

    有关static block静态代码块和单态设计模式

    在Java中,类装载器把一个类装入Java虚拟机中,要经过三个步骤来完成:装载、链接和初始化,其中链接又可以分成校验、准备和解析三步,除了解析外,其它步骤是严格按照顺序完成的,各个步骤的主要工作如下:

    express-static-gzip:在serveStatic之上的简单包装器,允许提供预压缩的文件以及其他类型的压缩

    表达静态gzip 在serve-static之上提供一小层,从而可以提供预先压缩的文件。 支持brotli并允许配置您可能想到的任何其他压缩。 如果express-static-gzip您节省了一些时间,请随时为我买杯咖啡:)要求为了使express-...

    arm-static-gdb-little-endian.tar.xz

    提供小端arm架构gdb 6.7、gdb7.6和gdb 8.1三个版本 UNIX及UNIX-like下的调试工具。 一般来说,GDB主要帮助你完成下面四个方面的功能: ...4、你可以改变你的程序,将一个BUG产生的影响修正从而测试其他BUG。

    C/C++中的static的联系和区别

    C中的static  在进程开始运行时初始化,C中static修饰变量和函数  静态变量  存储于全局变量区  静态局部变量:进程的运行过程中,函数退出不被销毁  静态全局变量:只能被本文件的函数调用访问,对其他...

    php中static 静态变量和普通变量的区别

    在变量的前面加上static 就构成了静态变量(static 变量)。 static变量和普通变量的区别在于非静态全局变量的作用域是整个源程序,当一个源程序由多个源文件组成时,非静态的全局变量在各个源文件中都是有效的。 而...

    staticx:从动态可执行文件创建静态可执行文件

    必须安装以下其他工具才能从源代码构建StaticX: scons (可选) 安装 从PyPI StaticX。 这些轮子是基于Travis CI构建的,并包括一个使用musl-libc构建的引导程序。 您可以使用Pip进行安装。 StaticX与Python ...

    理解PHP5中static和const关键字的区别

    (1) static static关键字在类中是,描述一个成员是静态的,static能够限制外部的访问,因为static后的成员是属于类的,是不属于任何对象实例,其他类是无法访问的,只对类的实例共享,能一定程序对该成员尽心保护...

    c语言中static和extern的用法详细解析

    一,static和extern:大工程下我们会碰到很多源文档。文档a.c 代码如下:static int i; //只在a文档中用int j; //在工程里用static void init() //只在a文档...extern告诉编译器这个变量或函数在其他文档里已被定义

    详解php用static方法的原因

    static全局变量和普通全局变量,static局部变量和普通局部变量,static函数与普通函数的区别?下面本文将一一为你解答。  (1)全局变量(外部变量)的说明之前再冠以static 就构成了静态的全局变量。全局变量本身...

    static学习

    有关static的学习:静态方法和静态变量是属于某一个类,而不属于类的对象。 2)静态方法和静态变量的引用直接通过类名引用。 3)在静态方法中不能调用非静态的方法和引用非静态的成员变量。反之,则可以。 4)静态...

    synchronized与static synchronized的区别

    当某个线程调用synchronized方法的时候,就会给它加上了一个锁,其他线程就会无法访问,等到这个锁被释放,别的线程拿到这个锁的时候,才可以访问该方法。 static synchronized这个是“全局锁”或者是“类锁”,该锁...

Global site tag (gtag.js) - Google Analytics