• Post Reply Bookmark Topic Watch Topic
  • New Topic

modifiers question from dan's exam

 
anushree ari
Ranch Hand
Posts: 98
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
hi,
class Z {
void m1() {
abstract class A {} // 1
final class B {} // 2
private class C {} // 3
protected class D {} // 4
public class E {} // 5
static class F {} // 6
synchronized class G {} // 7
transient class H {} // 8
volatile class I {} // 9
strictfp class J {} // 10
}
}
Which of the follow class declarations results in a compiler error?
ans is 3,4,5,6,7,8,9,
synchronized,volatile,transient are field modifiers, so 7,8,9, correct, but why? 3,4,5,6.
anybody correct me?
thx
 
Jamal Hasanov
Ranch Hand
Posts: 411
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi, Anushree
The reason is :
Inner Classes inside methods(local classes) may not be declared as private, public, protected, or static(jNotes)
All this classes are inside m1() method.

Regards,
Jamal Hasanov
www.j-think.com
 
Jose Botella
Ranch Hand
Posts: 2120
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
private, public, protected and static are not applicable to local variables either. They make no sense within a method because the local variables are not accesible from outside the method. Thus, why trying to specify the access modifiers or static.
 
What are you doing? You are supposed to be reading this tiny ad!
the new thread boost feature brings a LOT of attention to your favorite threads
https://coderanch.com/t/674455/Thread-Boost-feature
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!