what is the difference between the "protected and default"
modifiers?
Answer Posted / waheeb
we cannot make a class protected. however it is observed
that both default and protected modifiers exhibit same
characteristics. both are not accessible outside the
package and are accessible within the same package whether
the class is inheriting from the superclass or not.
for example:
package pack1;
public class SuperClass {
public int publicvar;
protected int protectedvar;
private int privatevar;
int defaultvar;
public void publicmethod() {
System.out.println("Public Method");
}
protected void protectedmethod() {
System.out.println("Inside Protected
Method");
}
private void privatemethod() {
System.out.println("Inside Private Method");
}
void defaultmethod(){
System.out.println("Inside Default Var");
}
}
class subclass extends SuperClass{
public static void main(String args[]){
SuperClass obj = new SuperClass();
obj.protectedvar = 10;
obj.defaultvar = 10;
obj.defaultmethod();
/*
protected and default feilds accessible in
the same
*/
}
}
class anotherClass{
public static void main(String args[]){
SuperClass obj = new SuperClass();
obj.protectedvar = 10;
obj.defaultvar = 10;
/* protected and default feilds accessible
in the same
package without extending*/
}
}
| Is This Answer Correct ? | 0 Yes | 3 No |
Post New Answer View All Answers
Why do we create threads in java?
How is final different from finally and finalize?
What is data movement?
How do you reverse a string in java without using string buffer?
When a thread is executing synchronized methods , then is it possible to execute other synchronized methods simultaneously by other threads?
What is a dynamic array in java?
Does windows 10 need java?
Which sorting is best in java?
How do you sort arrays in java?
How many bytes is a string java?
Is zero a natural number?
What is the difference between static and global variables and also define what are volatile variables?
What is the current version of java?
What are different types of constants?
What is the purpose of using the java bean?