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控件本身并不支持滚动功能,我们需要借助其他控件或自定义消息处理来实现这一特性。一种常见方法是结合使用Static控件和滚动条(SCROLLBAR)控件,通过监听滚动条的滚动事件,更新Static控件中的文本...
static变量或函数只能在定义它们的文件中可见,对于其他文件是不可见的。static变量或函数的作用域是静态的,意味着它们的值在程序执行期间不会被改变。 static的三个作用 1. 隐藏:static的第一个作用是隐藏。在...
3. **手动添加文件**: 如果你有一个完整的 Visdom 安装包或者从其他源获取了 `/static/` 文件夹,你可以将其复制到 Visdom 的安装目录下,通常是 `安装路径>/Lib/site-packages/visdom/static/`。 4. **更新或降级...
Java 中的 static 关键字 ...在 Java 中,类装载器把一个类装入 Java 虚拟机中,要经过三个步骤来完成:装载、链接和初始化,其中链接又可以分成校验、准备和解析三步,除了解析外,其它步骤是严格按照顺序完成的。
这意味着其他源文件无法看到或调用这个函数,除非明确声明为`extern`。这样可以避免不同源文件之间的函数命名冲突,提高代码封装性。 例如,一个程序可能包含三个源文件`mainf.c`、`subf1.c`和`subf2.c`,其中`subf...
### C语言中的`static`关键字用法详解 在C语言编程中,`static`关键字具有非常重要的作用。本文将从不同角度对`static`在C语言中的应用进行深入解析,并结合具体的示例来帮助理解其背后的逻辑。 #### 一、`static`...
这意味着当你改变一个类的`static`变量时,所有其他实例都将看到这个变化。例如: ```java public class MyClass { static int count = 0; } ``` 在这个例子中,`count`变量在所有`MyClass`实例之间共享。 2....
static 方法只能访问 static 变量和其他 static 方法。 3. static 块 static 块是 Java 中的一种特殊的块,它用于在类加载时执行一些初始化操作。static 块只能访问 static 变量和其他 static 方法。 final 和 ...
这意味着静态内部类可以独立于外部类实例存在,可以像其他任何静态成员一样被访问。 5. **static与final的组合**: 当`static`和`final`一起使用时,创建的是常量,其值在编译时确定,并在整个程序运行期间保持...
这类变量只在当前源文件中可见,不会在其他源文件中产生副本,解决了全局变量的可见性和内存管理问题。它们在程序启动时初始化,且在整个程序运行期间保持其值不变。 在局部作用域中,`static`用于创建静态局部变量...
`static`目录在任何Web应用中都有其特殊的意义,它是存放静态资源如CSS样式表、JavaScript脚本、图片和其他非动态内容的地方。这些文件在网页加载时不会经过服务器端的处理,而是直接发送到客户端,因此提高了页面...
在C语言中,`static`关键字有了第二种含义:用来表示不能被其他文件访问的全局变量和函数。在C语言中,如果想要限制全局变量或函数的作用域仅限于本文件(即内部函数),可以在声明这些全局变量或函数时使用`static`...
2. 静态成员变量具有文件作用域,即它只在其被定义的文件中有效,如果其他文件中定义了同名的静态变量,它们实际上是不同的变量。 在使用静态成员变量时,还应注意: 1. 类的静态成员变量和普通数据成员不能在类的...
当函数声明为`static`时,该函数称为静态函数,它只能在声明它的文件内被访问,不能被其他文件中的代码调用。这有助于减少命名冲突,同时限制了函数的作用范围,增强了代码的封装性。 4. **类的静态成员(Static ...
这种做法不仅可以提高代码的安全性,还能让其他开发者更容易理解函数的行为。 ##### 3. Const与返回值 函数可以返回常量引用或指针,这样可以确保调用者无法修改函数返回的对象,同时也能避免不必要的复制操作,...
静态方法通常用于提供一些实用工具给应用程序中的其他类使用。在 Java 的类库中大量的静态方法正是出于此目的而定义的。 在 Java 中,静态方法可以直接使用类名来调用,例如 Simple.go()。静态方法的使用非常简单,...
本文将深入探讨Docker 1.11.0版本的STATIC部署内容,以及它如何解决传统安装方式中的问题。 在传统的Docker安装过程中,一个常见的挑战是找到与宿主机操作系统内核版本相匹配的Docker版本。这是因为Docker依赖于...
### 继承与Static知识点详解 #### 一、继承与Static的基本概念 在Java中,继承是一种类之间的关系,允许一个类(子类)继承另一个类(父类)的属性和方法。通过继承,可以实现代码复用,提高程序的可维护性。 `...
当我们在多个文件中进行编程并同时编译这些文件时,所有未声明为`static`的全局变量和函数都是全局可见的,这意味着它们在整个程序中都可以被其他文件访问。例如,如果你有一个`a.c`文件,其中定义了一个全局变量`a`...
4. 用 private 修饰的 static 成员变量和成员方法,表示这个变量可以在类的静态代码块中,或者类的其他静态成员方法中使用(当然也可以在非静态成员方法中使用),但是不能在其他类中通过类名来直接引用,这一点很...