【第22期】观点:IT 行业加班,到底有没有价值?

欢迎使用CSDN-markdown编辑器

原创 2016年05月31日 14:40:30

对Static关键字的解释
1,static方法就是没有this的方法。在static方法内部不能调用非静态方法,反过来是可以的。而且可以在没有创建任何对象的前提下,仅仅通过类本身来调用static方法
2,被static关键字修饰的方法或者变量不需要依赖于对象来进行访问,只要类被加载了,就可以通过类名去进行访问。
static方法
3,static方法一般称作静态方法,由于静态方法不依赖于任何对象就可以进行访问,因此对于静态方法来说,是没有this的,因为它不依附于任何对象,既然都没有对象,就谈不上this了。并且由于这个特性,在静态方法中不能访问类的非静态成员变量和非静态成员方法,因为非静态成员方法/变量都是必须依赖具体的对象才能够被调用。

  但是要注意的是,虽然在静态方法中不能访问非静态成员方法和非静态成员变量,但是在非静态成员方法中是可以访问静态成员方法/变量的

static变量

  static变量也称作静态变量,静态变量和非静态变量的区别是:静态变量被所有的对象所共享,在内存中只有一个副本,它当且仅当在类初次加载时会被初始化。而非静态变量是对象所拥有的,在创建对象的时候被初始化,存在多个副本,各个对象拥有的副本互不影响。

  static成员变量的初始化顺序按照定义的顺序进行初始化。
  static 只会在类加载的时候执行一次

public class Main {  
static int value = 33;

public static void main(String[] args) throws Exception{
    new Main().printValue();
}

private void printValue(){
    int value = 3;
    System.out.println(this.value);
}

}

输出的结果为33
永远要记住一点:静态成员变量虽然独立于对象,但是不代表不可以通过对象去访问,所有的静态方法和静态变量都可以通过对象访问(只要访问权限足够)。

版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

欢迎使用CSDN-markdown编辑器

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦: Markdown和扩展Markdown简洁的语法 代码块高亮 图片链接和...

Redmine 2.6.5 使用markdown进行编辑的时候,wiki连接bug

    Redmind2.6.5中wiki存在bug   场景: 新建项目myproject,勾选wiki选项,此时点击wiki创建wiki 内容为: [test](test) 保存,这是点击这个test连接是正常的 但是当我点击导航栏的wiki(http://localhost:3000/projects/myproject/w

欢迎使用CSDN-markdown编辑器

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦: Markdown和扩展Markdown简洁的语法 代码块高亮 图片链接和...

欢迎使用CSDN-markdown编辑器

欢迎使用Markdown编辑器写博客 本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦: Markdown和扩展Markdown简洁的语法 代码块高亮 图片链接和图片上传</st

欢迎使用CSDN-markdown编辑器

欢迎使用Markdown编辑器写博客我们使用斜体文字的方式倾斜文字,加粗的文字的方式加粗文字,使用加粗的斜体字同时加粗和倾斜文字。类Atx形式则是在行首插入1到6个#,对应到标题1到标题6.一号标题二...
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)