Java中非静态方法可以调用静态方法与变量,如下:
package com.test;
public class TestA {
/**
* 静态变量a
*/
private static int a=1;
public static void main(String[] args) {
//非静态方法在main函数里只能用对象调用,main方法也静态方法
TestA testA=new TestA();
//非静态方法里面有设置静态变量以及调用静态方法
testA.test();
System.out.println("静态变量a的值为:"+a);
}
/**
* 静态方法
* @param name
*/
public static void sayHello(String name){
System.out.println(name+" say hello!");
}
public void test(){
System.out.println("我是非静态方法test!");
//设置静态变量值
a=2;
//调用静态方法没报异常
sayHello("Test");
}
}
结果:
我是非静态方法test!
Test say hello!
静态变量a的值为:2