Scrigroup - Documente si articole

Username / Parola inexistente      

Home Documente Upload Resurse Alte limbi doc  


AccessAdobe photoshopAlgoritmiAutocadBaze de dateCC sharp
CalculatoareCorel drawDot netExcelFox proFrontpageHardware
HtmlInternetJavaLinuxMatlabMs dosPascal
PhpPower pointRetele calculatoareSqlTutorialsWebdesignWindows
WordXml

AspAutocadCDot netExcelFox proHtmlJava
LinuxMathcadPhotoshopPhpSqlVisual studioWindowsXml

Class access

java

+ Font mai mare | - Font mai mic



DOCUMENTE SIMILARE

Trimite pe Messenger
Java 1.1 IO streams: Sources and sinks of data
Returning an array
Choice, Menus, And Checkboxes
StreamTokenizer: StringTokenizer
You manipulate objects with handles
You never need to destroy an object
Your first Java program
Standard Java exceptions: The special case of RuntimeException
Coding style
The this keyword


Class access

In Java, the access specifiers can also be used to determine which classes within a library will be available to the users of that library. If you want a class to be available to a client programmer, you place the public keyword somewhere before the opening brace of the class body. This controls whether the client programmer can even create an object of the class.




To control the access of a class, the specifier must appear before the keyword class. Thus you can say:

public class Widget

// (1) Allow creation via static method:

public static Soup makeSoup()

// (2) Create a static object and

// return a reference upon request.

// (The 'Singleton' pattern):

private static Soup ps1 = new Soup();

public static Soup access()

public void f()

class Sandwich

// Only one public class allowed per file:

public class Lunch

Up to now, most of the methods have been returning either void or a primitive type so the definition:

public static Soup access()

might look a little confusing at first. The word before the method name (access) tells what the method returns. So far this has most often been void, which means it returns nothing. But you can also return a handle to an object, which is what happens here. This method returns a handle to an object of class Soup.



The class Soup shows how to prevent direct creation of a class by making all the constructors private. Remember that if you donít explicitly create at least one constructor, the default constructor (a constructor with no arguments) will be created for you. By writing the default constructor, it wonít be created automatically. By making it private, no one can create an object of that class. But now how does anyone use this class? The above example shows two options. First, a static method is created that creates a new Soup and returns a handle to it. This could be useful if you want to do some extra operations on the Soup before returning it, or if you want to keep count of how many Soup objects to create (perhaps to restrict their population).

The second option uses whatís called a design pattern, which will be discussed later in this book. This particular pattern is called a ďsingletonĒ because it allows only a single object to ever be created. The object of class Soup is created as a static private member of Soup, so thereís one and only one, and you canít get at it except through the public method access( ).

As previously mentioned, if you donít put an access specifier for class access it defaults to ďfriendly.Ē This means that an object of that class can be created by any other class in the package, but not outside the package. (Remember, all the files within the same directory that donít have explicit package declarations are implicitly part of the default package for that directory.) However, if a static member of that class is public, the client programmer can still access that static member even though they cannot create an object of that class.



Actually, a Java 1.1 inner class can be private or protected, but thatís a special case. These will be introduced in Chapter 7.

OrYou can also do it by inheriting (Chapter 6) from that class.






Politica de confidentialitate



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 536
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2022 . All rights reserved

Distribuie URL

Adauga cod HTML in site