针对: 静态方法里只能“容纳”类方法和类变量,即静态方法里只能调用静态方法、只能使用静态属性;不能调用实例方法、使用实例变量。 因为this和super这两个关键字是针对于对象的,所以当然不能在静态方法里面使用了!public class A{ public void m1(){ System.out.println("Hello World"); } public static void main(String args[]){ A a = new A(); a.m1(); } } 我在这个类中的静态方法中算不算是使用了实例变量和实例方法?
a1 = new A();
a2 = new A();
a1,和a2。this是不同的,所以静态方法里面不能用。
this和super是属于对象范畴的东西,而静态方法是属于类范畴的东西。
Class A中
void method1(){}实际上是这样的--------> void method1(A this)
void method2(int x){}实际上是这样的--------> void method2(A this, int x)
而静态方法与对象无关,根本不能把对象的引用传到方法中,所以不能用this
super:是操作当前此对象的父类中的对象
super
这些关键字和当前的对象有关
而static是和整个类有关,和对象没有关系。
super
这些关键字和当前的对象有关
而static是和整个类有关,和对象没有关系。
每个对象的属性和方法是不同的,所以不能放到static修饰的里面。
因为this和super这两个关键字是针对于对象的,所以当然不能在静态方法里面使用了!
super
这些关键字和当前的对象有关
而static是和整个类有关,和对象没有关系。
你说能在静态的方法中用吗?
而静态方法是和类相关的
学习了!
而THIS和SUPERs是跟对象有关
静态方法里只能“容纳”类方法和类变量,即静态方法里只能调用静态方法、只能使用静态属性;不能调用实例方法、使用实例变量。
因为this和super这两个关键字是针对于对象的,所以当然不能在静态方法里面使用了!public class A{
public void m1(){
System.out.println("Hello World");
}
public static void main(String args[]){
A a = new A();
a.m1();
}
}
我在这个类中的静态方法中算不算是使用了实例变量和实例方法?