Is static variable of superclass avilable to sub-class. i.e i mean static variable of superclass can we access in sub-class without creating object N without using ClassName.
3 Answers
The same visibility constraints apply to static and non-static variables. So this is possible:
public class SuperClass {
/*
* public would also work, as would no modifier
* if both classes are in the same package
*/
protected static String foo;
}
public class SubClass extends SuperClass {
public void modifyFoo() {
foo = "hello";
}
public void modifySuperFoo() {
/*
* does the exact same thing as modifyFoo()
*/
SuperClass.foo = "hello";
}
}
5 Comments
Vinay Pandey
but then you could not access SuperClass.foo.
Thomas Lötzer
@vinay_rockin Yes, you can. You can also write
SuperClass.foo = "hello"; instead of foo = "hello"; and it will achieve the exact same result.Vinay Pandey
please see my edited answere and let me know if it is incorrect.
Vinay Pandey
Lotzer, I am using c# and it does not work for me as I cannot access protected static variable by ClassName.variable. but I will take it as you say and read more on internet :).
Thomas Lötzer
@vinay_rockin The question is about Java, so my answer is also about Java. C# may behave differently in this case.