Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
J
JAVA Learning
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package Registry
Container Registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Issue analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
VIGNESH VIJAYAKUMAR
JAVA Learning
Commits
9ece574d
Commit
9ece574d
authored
9 months ago
by
VIGNESH VIJAYAKUMAR
Browse files
Options
Downloads
Patches
Plain Diff
Inner class
parent
ebed98d9
No related branches found
Branches containing commit
No related tags found
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
Core Java/Inner.java
+62
-0
62 additions, 0 deletions
Core Java/Inner.java
with
62 additions
and
0 deletions
Core Java/Inner.java
0 → 100644
+
62
−
0
View file @
9ece574d
class
Outerclass
{
int
outernum
=
10
;
public
class
Innerclass
{
//access outerclass attr in inner class
//the below print throw an error bcoz only attribute initiale can be done outside a method all other things need to be inside a method
//System.out.println("Outer num inside inner class : "+outernum);
int
innerNUm
=
20
;
public
void
methodd
(){
PrivateInnerclass
privateobj
=
new
PrivateInnerclass
();
System
.
out
.
println
(
"Secret num in private from another inner class: "
+
privateobj
.
secretnum
);
System
.
out
.
println
(
"Outer num inside inner class : "
+
outernum
);
}
}
static
class
StaticInnerclass
{
//we cannot access non-static context in static context
int
staticInnernum
=
30
;
void
methodd
(){
System
.
out
.
println
(
"Static inner class methodd: "
+
staticInnernum
);
}
}
private
class
PrivateInnerclass
{
int
secretnum
=
77
;
//this is not able to access from outside of Outerclass
}
void
methodd
(){
PrivateInnerclass
privateobj
=
new
PrivateInnerclass
();
System
.
out
.
println
(
"Secret num in private : "
+
privateobj
.
secretnum
);
Innerclass
innerobj
=
new
Innerclass
();
System
.
out
.
println
(
"Inner num in public from outer class : "
+
innerobj
.
innerNUm
);
}
}
public
class
Inner
{
public
static
void
main
(
String
[]
args
){
//attribute from outer class
Outerclass
outerObj
=
new
Outerclass
();
System
.
out
.
println
(
"Outer num : "
+
outerObj
.
outernum
);
//attribute from public inner class
//create an instance for innerclass using outer class object
Outerclass
.
Innerclass
innerpublicobj
=
outerObj
.
new
Innerclass
();
System
.
out
.
println
(
"Inner num : "
+
innerpublicobj
.
innerNUm
);
innerpublicobj
.
methodd
();
// this will call methodd in inner class
//access attribute from static inner class
//to access static inner class dont need to create a instance for outer class
Outerclass
.
StaticInnerclass
innerstaticobj
=
new
Outerclass
.
StaticInnerclass
();
System
.
out
.
println
(
"Static Inner num from public class : "
+
innerstaticobj
.
staticInnernum
);
innerstaticobj
.
methodd
();
//below is throw an error bcoz that is private class.
//Outerclass.PrivateInnerclass privateInnerobj = outerObj.new PrivateInnerclass();
//access private inner class in outer class but not in outside the class
outerObj
.
methodd
();
}
}
/*
We can create a instance of a one inner class in another inner class
Non-static context is not access in static context
For access static inner class we don't want to create a instance for outer class
Private inner class accesed by other inner classes (except static) and outer class but not by outside the outer class
*/
\ No newline at end of file
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment