1. Class Variable/Static Variable:

  • Class variable is also known as static variable with "static" keyword inside the class but outside the methods.
  • There is only one copy of class variable is no matter how many objects are initiated from this class.
  • Class variable is accessed as: className.classVariableName.
  • Static variable is pretty like constant, declared with key word "static", stored in static memory, created when program begins and destroyed when program ends.

2. Java Static Method:

  • A static method belongs to a class rather than a object.
  • A static method could be invoked without creating an object.
  • Static method could access and change static data value.

3. Static Block:

  • It is used to initialize static data member.
  • It is executed before main method at the time of class loading.

4. Static Class:

  • There is inner class nested in outer class, inner class could be static class, out class can't be static class.
  • Inner static class doesn't need reference of outer class, but inner non-static class need reference of outer class.
  • Inner static class could only access outer static members of outer class.
  •  class OuterClass{
    private static String msg = "GeeksForGeeks"; // Static nested class
    public static class NestedStaticClass{ // Only static members of Outer class is directly accessible in nested
    // static class
    public void printMessage() { // Try making 'message' a non-static variable, there will be
    // compiler error
    System.out.println("Message from nested static class: " + msg);
    }
    } // non-static nested class - also called Inner class
    public class InnerClass{ // Both static and non-static members of Outer class are accessible in
    // this Inner class
    public void display(){
    System.out.println("Message from non-static nested class: "+ msg);
    }
    }
    }
    class Main
    {
    // How to create instance of static and non static nested class?
    public static void main(String args[]){ // create instance of nested Static class
    OuterClass.NestedStaticClass printer = new OuterClass.NestedStaticClass(); // call non static method of nested static class
    printer.printMessage(); // In order to create instance of Inner class we need an Outer class
    // instance. Let us create Outer class instance for creating
    // non-static nested class
    OuterClass outer = new OuterClass();
    OuterClass.InnerClass inner = outer.new InnerClass(); // calling non-static method of Inner class
    inner.display(); // we can also combine above steps in one step to create instance of
    // Inner class
    OuterClass.InnerClass innerObject = new OuterClass().new InnerClass(); // similarly we can now call Inner class method
    innerObject.display();
    }
    }

Java: Class Variable/Static Variable的更多相关文章

  1. 【java】 field 和 variable 区别及相关术语解释

    Having said that, the remainder of this tutorial uses the following general guidelines when discussi ...

  2. 关于Java中的static关键字

    Java中的 static 关键字,确实是一个关键的字(key word),今天就来总结一下它的用法,说说为什么关键. Java中的 static 关键字主要是用来做内存管理的.理解了这句话才能够比较 ...

  3. (转)Java中的static关键字解析

    转载: http://www.cnblogs.com/dolphin0520/p/3799052.html 一.static关键字的用途 在<Java编程思想>P86页有这样一段话: &q ...

  4. Java中的static关键字解析

    Java中的static关键字解析 static关键字是很多朋友在编写代码和阅读代码时碰到的比较难以理解的一个关键字,也是各大公司的面试官喜欢在面试时问到的知识点之一.下面就先讲述一下static关键 ...

  5. java中的static使用--静态变量、静态方法

    Java 中的 static 使用之静态变量 大家都知道,我们可以基于一个类创建多个该类的对象,每个对象都拥有自己的成员,互相独立.然而在某些时候,我们更希望该类所有的对象共享同一个成员.此时就是 s ...

  6. (转)Java中的static关键字解析

    转自http://www.cnblogs.com/dolphin0520/p/3799052.html 一.static关键字的用途 在<Java编程思想>P86页有这样一段话: “sta ...

  7. MySQL: @variable vs. variable. Whats the difference?

    MySQL: @variable vs. variable. Whats the difference?   up vote351down votefavorite 121 In another qu ...

  8. Java中的static的使用

    Java中的static使用之静态变量 神话丿小王子的博客主页 1.Java 中被static修饰的成员称为静态成员或类成员.它属于整个类所有,而不是某个对象所有,即被类的所有对象所共享.且优先于对象 ...

  9. java中的static详解

    如果一个类成员被声明为static,它就能够在类的任何对象创建之前被访问,而不必引用任何对象.static 成员的最常见的例子是main( ) .因为在程序开始执行时必须调用main() ,所以它被声 ...

随机推荐

  1. idea_IDEA跑Tomcat异常

    IDEA跑Tomcat异常 具体异常如下 Artifact :war exploded: Server is not connected. Deploy is not avail 根据别人的回答,去掉 ...

  2. loadView、viewDidLoad及viewDidUnload的关系

      标题中所说的3个方法,都是UIViewController的方法,跟UIViewController的view属性的生命周期息息相关.接下来我会一一阐述它们的作用以及它们之间的联系. loadVi ...

  3. 记sql语句空格带来的问题

    在做分页的时候,引用了一个分页类.在一条sql语句出发生错误,没查出数据,代码如下 $sql="select * from sw_goods".$page->limit; 正 ...

  4. Html - 返回Top

    制作浮动top $(window).scroll( function() { var scrollValue=$(window).scrollTop(); scrollValue > 600 ? ...

  5. 在UI线程之外显示Toast

    new Thread(){ public void run() { Looper.prepare(); Toast t = Toast.makeText(mContext, R.string.cras ...

  6. 判断返回数据是否为 null

    判断是否为null //尖括号                if ([regeocode.city isEqual:[NSNull class]]) {                    NSL ...

  7. Bootstrap页面布局20 - BS缩略图

    <div class='container-fluid'> <h2 class='page-header'>Bootstrap 缩略图</h2> <ul cl ...

  8. Java 常见问题思考

    Java中的成员变量是选择在声明时赋值还是在构造函数中赋值? // 通过构造函数赋值 public class UserRequestImpl extends ModuleImplBase { pri ...

  9. Java构造和解析Json数据的两种方法详解二

    在www.json.org上公布了很多JAVA下的json构造和解析工具,其中org.json和json-lib比较简单,两者使用上差不多但还是有些区别.下面接着介绍用org.json构造和解析Jso ...

  10. taocode

    http://code.taobao.org/project/lang/list/Go/1/