• Menu
  • Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar

JavaBeat

Java Tutorial Blog

  • Java
    • Java 7
    • Java 8
    • Java EE
    • Servlets
  • Spring Framework
    • Spring Tutorials
    • Spring 4 Tutorials
    • Spring Boot
  • JSF Tutorials
  • Most Popular
    • Binary Search Tree Traversal
    • Spring Batch Tutorial
    • AngularJS + Spring MVC
    • Spring Data JPA Tutorial
    • Packaging and Deploying Node.js
  • About Us
    • Join Us (JBC)
  • Java
    • Java 7
    • Java 8
    • Java EE
    • Servlets
  • Spring Framework
    • Spring Tutorials
    • Spring 4 Tutorials
    • Spring Boot
  • JSF Tutorials
  • Most Popular
    • Binary Search Tree Traversal
    • Spring Batch Tutorial
    • AngularJS + Spring MVC
    • Spring Data JPA Tutorial
    • Packaging and Deploying Node.js
  • About Us
    • Join Us (JBC)

Static Nested Class In Java

April 26, 2014 //  by Krishna Srinivasan//  Leave a Comment

Static Nested classes are inner classes which are declared inside another class and also declared with static keyword. The main difference between inner class and static nested classes is that inner classes are non-static and static nested classes are static. Also known as static classes.

  • Static nested classes can be accessed using the enclosing class name.
  • It can access static data members of outer class including private.
  • static nested class cannot access non-static (instance) data member on method.
  • static nested class can access static data member of another nested class within the outer class.
  • By making a nested classes can be static, you can use the nested class without having an instance of the outer class.

Lets look at the simple example.

StaticClassExample.java

package javabeat.net.core;

/**
 * Static Nested Class Example
 *
 * @author Krishna
 *
 */
public class StaticClassExample {
	static int i = 10;
	public static void main(String[] args) {
		//Access static nested class
		new StaticClassExample.NestedClass().method();
	}

	public static class NestedClass{
		public void method(){
			System.out.println("Method in Static / Nested Class");
			//Outer class static
			System.out.println(StaticClassExample.i);

			//Another nested class static
			System.out.println(StaticClassExample.NestedClass1.j);
		}
	}

	public static class NestedClass1{
		static int j = 20;
	}

}

Output…

Method in Static / Nested Class
10
20

Category: JavaTag: Java Basics

About Krishna Srinivasan

He is Founder and Chief Editor of JavaBeat. He has more than 8+ years of experience on developing Web applications. He writes about Spring, DOJO, JSF, Hibernate and many other emerging technologies in this blog.

Previous Post: « Java InputStreamReader Example
Next Post: Downcasting In Java »

Reader Interactions

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Primary Sidebar

Follow Us

  • Facebook
  • Pinterest

FEATURED TUTORIALS

New Features in Spring Boot 1.4

Difference Between @RequestParam and @PathVariable in Spring MVC

What is new in Java 6.0 Collections API?

The Java 6.0 Compiler API

Introductiion to Jakarta Struts

What’s new in Struts 2.0? – Struts 2.0 Framework

JavaBeat

Copyright © by JavaBeat · All rights reserved
Privacy Policy | Contact