关于在静态类调用非静态对象和利用非静态实例变量的问题
程序中表情位置出现编译错误,原因我知道,不用各位解释,只是想知道1,除了把原来的非静态类改为static还有什么别的方法在静态类里创建非静态对象(当然也除了把静态类改为非静态类。。)吗?
2,限制条件同上,还有什么其它方法在静态类里引用非静态实例变量吗?
package 多态2;
public class Animal
{
int i;
public void roar()
{
System.out.println("Ruff!");
}
public class Dog extends Animal
{
public void roar()
{
System.out.println("I am a dog!");
super.roar();//可以在子类方法中利用super引用父类方法
}
}
public static void main(String args[])//这里如果用static ,表示静态方法,则其在类加载时就会分配内存,就是执行到这个类时,同时分配了内存,而类里面还有
{ //还有非静态成员,其必须在类的对象产生时才会分配内存,再通过类的对象去访问,也就意味着如果用dog a=new dog(),计算机在内存中找不到dog
Dog a=new Dog();//定义的变量没有使用
Animal b=new Animal();
a.roar();
System.out.println(i);
}
}