疯狂java


您现在的位置: 疯狂软件 >> 新闻资讯 >> 正文

Java基础之static域访问外部变量和方法


 

   

  Java中static方法在访问外部方法和变量时有一些约定,例如:

  static方法中在没有创建对象的情况下是不能直接引用非staitc方法或变量的,否则将会发生编译错误:

  提示说static不能引用非static方法或者变量,好啦,上代码:

  package com.test;

  public class Test1 {

  int a;

  public void printStr()

  {

  System.out.println("Welcome!");

  }

  public static void main(String[] args) {

  System.out.println(a);

  printStr();

  }

  }

  此代码将会发生编译错误,由于在static main方法中访问了外部非static变量a和方法printStr();此时只需要将变量a和方法printStr()声明为static即可。

  当然还有另外一种解决方法:通过创建对象来引用外部非static变量和方法,好了,上代码:

  package com.test;

  public class Test1 {

  int a;

  public void printStr()

  {

  System.out.println("Welcome!");

  }

  public static void main(String[] args) {

  Test1 test=new Test1();

  System.out.println(test.a);

  test.printStr();

  }

  }