public class TestStatic {
String str;//非静态的成员变量
static int num;//静态成员变量,属于对象,在堆内,栈内是引用
//静态成员方法,只能访问静态的成员变量,属于类,在栈内
Person person;
static void show(){
//System.out.println( str);//访问不到
System.out.println(num);//可以访问到,公有的
}
void display(){
System.out.println("display"+num);//公有的,任何对象都可以调用
// TestStatic ts = new TestStatic();ts.show();
show();
display11();
System.out.println(str);
System.out.println(num);
// display11();//静态不能调用非静态
}
void display11(){
System.out.println("display11");
}
//类类型参数作为参数
public void usePerson(Person p ){
}
class Person{
int age =18;
}
public static void main(String[] args){
/*TestStatic.show();
TestStatic.num=100;
TestStatic ts = new TestStatic();
TestStatic ts22 = new TestStatic();*/
TestStatic ts = new TestStatic();
new TestStatic().display11();//匿名定义对象再调用方法,下次不能使用(未命名)
new TestStatic().display11();//与上一个不同,堆中被分配到的内存位置不同
// Person p = new Person();
// System.out.println(p2.age);
}
}