There's no such thing as a stupid question, but they're the easiest to answer.
JoinTour
Login
 
Tag Cloud
access audio avg avg 8 bios blue screen boot bsod computer connection cpu crash css dell desktop dma driver drivers dvd email error excel explorer firefox firefox 3 freeze gimp graphics hard drive hardware hijackthis hjt install internet internet explorer itunes keyboard laptop macro malware monitor motherboard network networking outlook outlook 2003 outlook 2007 outlook express pio problem problems router seo server slow sound sp3 spyware trojan usb video virtumonde virus vista vundo windows windows vista windows xp winxp wireless
Software Development
Search
Search in:
 
Advanced Search
Tech Support Guy Forums > Software & Hardware > Software Development >
Static members in nested classes in Java 2


HELLO AND WELCOME! Before you can post your question, you'll have to register -- it's completely free! Click here to join today! We highly recommend that you print a copy of our Guide for New Members. Enjoy!

 
Thread Tools
ajaytemp's Avatar
Computer Specs
Junior Member with 19 posts.
 
Join Date: Jun 2007
Location: Columbus, OH
Experience: Sharp w/ computers.
11-Nov-2007, 12:40 AM #1
Question Static members in nested classes in Java 2
Why are static members not allowed in nested classes but allowed in the outter class?
Chicon's Avatar
Computer Specs
Distinguished Member with 6,611 posts.
 
Join Date: Jul 2004
Location: 50° 34' 07.13" N - 04° 10' 23.
Experience: Second socks retriever
11-Nov-2007, 06:00 AM #2
In the concepts of object oriented programming, classes have two kind of attributes and methods :
- the attributes and methods of the class
- the attributes and methods of the object, the instance of the class

The static modifier is designed for the members specific to the class.
The main advantage of static members is that they are accessible from everywhere in an application without creating an instance of the class.
Example :
Code:

public class Account {
    private static int number = 0;
    private static double total = 0;
    
    private double balance;
    
    public Account(double balance) {
        this.balance = balance;
        insert(balance);
    }
    
    private static void insert(double balance) {
        number++;
        total = total + balance;
    }
    
    public double showBalance() {
        return balance;
    }
    
    public static double showAverage() {
        return total / number;
    }
    
    public static double showTotal() {
        return total;
    }
    
    public static int showCounter() {
        return number;
    }
}
In my example, I will be able to know the number of instances of Account already created
just by running the statement Account.showCounter() in my application.

For nested classes, static members would have no meaning because nested classes have no existence without their host classes and they are generally built for a specific limited usage.
__________________
Never teach an old monkey how to make faces. - (French maxim)
Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are Off
Refbacks are Off

You Are Using:
Server ID
Advertisements do not imply our endorsement of that product or service.
All times are GMT -4. The time now is 07:53 AM.
Copyright © 1996 - 2008 TechGuy, Inc. All rights reserved.
Powered by vBulletin, Copyright © 2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.1.0
Powered by Cermak Technologies, Inc.