Java static关键字

来源:互联网 发布:射手 mac 编辑:程序博客网 时间:2024/05/18 00:49
    1.    静态成员
           当方法的执行与对象完全无关时,不需要创建对象,完全可以要求类自身来运行这个方法。
           特殊情况:如记录某个类的所有对象的个数等关于这个类对象的信息,必须要一个依赖于类的而不是一览与对象的变量来记录此信息,否则将不能解决问题。
    2.    静态成员的访问
           1.    静态方法访问非静态成员
                  

点击(此处)折叠或打开

  1. public class Console {
  2.     static int x=100;
  3.     public static void main(String[] args) {
  4.         System.out.println(x);
  5.     }
  6. }

           2    非静态方法访问静态成员

点击(此处)折叠或打开

  1. public class Console {
  2.     static int x=100;
  3.     public void showStatic() {
  4.         System.out.println(Console.x);
  5.     }
  6.     public static void main(String[] args) {
  7.         Console console = new Console();
  8.         console.showStatic();
  9.     }
  10. }

           3.    静态最终成员变量初始化
                 1.    声明的同时进行初始化
                 2.    静态语句块中那个初始化

点击(此处)折叠或打开

  1. public class Console {
  2.     public static final int x1 = 100;
  3.     public static final int x2;
  4.     static{
  5.         x2 = 100;
  6.     }
  7.     public static void main(String[] args) {
  8.         System.out.println(Console.x1);
  9.         System.out.println(Console.x2);
  10.     }
  11. }
            4. 若接口中的方法被声明为静态,那么意味着接口中的方法无法被重写,因此不允许由于修饰接口函数。

            5.静态工厂

点击(此处)折叠或打开

  1. class Animal{
  2.     private Animal(){
  3.     //私有构造器
  4.     }
  5.     public static Animal getAnimal(){
  6.         return Animal();//通过调用getAnimal()即可,称之为静态工厂
  7.     }
  8. }
            6.静态方法中的局部内部类
              若局部内部类位于静态方法中,则只能访问外部静态类的成员。

点击(此处)折叠或打开

  1. package wyf.jc;
  2. //外部类
  3. class Outter
  4. {
  5.     //定义普通成员变量,此处必须为static,否则报错。
  6.     static int x=100;
  7.     //定义静态方法
  8.     public static void getInner()
  9.     {
  10.         //定义内部类
  11.         class Inner
  12.         {
  13.             //定义内部类方法show
  14.             public void show()
  15.             {
  16.                 //打印输出,并调用该方法中的局部变量
  17.                 System.out.println("访问方法中的局部变量,x = "+x);
  18.             }
  19.         }
  20.         Inner i=new Inner();
  21.         i.show();        
  22.     }
  23. }
  24. //主类
  25. public class Sample15_9
  26. {
  27.     public static void main(String[] args)
  28.     {
  29.         //调用静态方法
  30.         Outter.getInner();
  31.     }
  32. }

        7.静态内部类
            语法:
            class <outer>{
                    static class <inner>{
                                //blabla...
                    }
                    //blabla..
            }
            创建对象:
            outter.inner name = new outter.inner(...);
            静态内部类也称内部嵌套类,非内部静态类应该与外部类的对象成员的共享关系,其实外部类对象组成的一部分,静态内部类其实已经脱离了外部类的控制,创建其对象时不需要外部类对象的存在,其实质只是一个放置在别的类中的普通类,static说明其创建对象时不依赖外部对象的存在。

阅读(49) | 评论(0) | 转发(0) |
0

上一篇:Java 栈&&队列

下一篇:Java final修饰符

相关热门文章
  • JDK1.6官方下载_JDK6官方下载_...
  • MyEclipse6.5下载及注册码...
  • Eclipse+MyEclipse的配置
  • Eclipse 插件安装、升级和卸载...
  • 最新版SWT Designer 6.0 安装,...
  • ChinaUnix & ITPUB社区12周年...
  • ssh连接出现以下提示,求解...
  • 如何扩展MYSQL
  • 准备做一个大型门户,用户什么...
  • gbk or utf8
给主人留下些什么吧!~~
原创粉丝点击