本帖最后由 haio 于 2014-3-19 15:40 编辑
这些天我又将这个问题总结了一下你看一下共同学习!!
我们描述一个类,其实就是描述一个事物的属性和行为,并没有产生一个具体的实例。而是通过new操作符建立对象来供给外部调用。当一个或多个对象在产生时,本身就有一个特定的方法或属性,并且这个方法或属性是一个或多个对象共有的,我们就把它定义为静态,并且在一个类一生成静态就存在了。
在有静态的方法中非静态成员可以直接访问本类中的静态成员和非静态成员(因为静态优先与非静态而存在)
而静态成员只能访问静态成员不能访问非静态成员(因为静态在被调用时不需要建立对象,而非静态在被调用时必须先建立类的实例对象)
关键:静态方法中不能以任何方式引用this和super关键字?
答::因为静态方法在使用前不用创建任何实例对象,当静态方法被调用时this所指向的对象根本就没有产生,不管你把创建对象的代码放在静态前还是静态后静态都是优先于对象和非静态而存在的
我试着编译了一下是可以的
class Person
{
String name ="hallo";
static String country = "ZG";
static Person p = new Person();
static void show()
{
System.out.println(p.name);
}
public static void main(String [ ] args)
{
}
}
这次可是加了标点符号哦!!有建议可以交流!!!相互学习!!加油!!
|