|
type method-name( ){…..}; // per dichiarare un metodo
method-name( ); // per dichiarare un metodo
public class TryClass{
public static void main(String args[ ]){ myMethod( ); } // dichiara i metodo
static void myMethod ( )// chiama il metodo “myMethod" per l'output
{ System.out.print( "Questo è un metodo" );
}}
public class |nome di Classe|{
public static void main(String args[ ]){|nome di metodo|( ); } /* dichiara un nome di metodo pubblico che può essere usato da qualsiasi classe */
static void |nome di metodo| ( )// chiama il metodo “myMethod”
{ System.out.print( "|questo è un metodo|" );
}}
1) “public” è un metodo accessibile da qualsiasi classe;
2) “static” significa che è usato dalle class.
3) “void” tipo return, che non restituisce un valore.
Un metodo a volte ha delle proprietà (argomenti).
public class TryClass{
public static void main ( String [ ] args ) {
myMethod( "ABC" ); }// chiama MyMethod & passa l'argomento
static void myMethod (String argument) //dichiara il metodo {System.out.print( "Questo è un metodo " + argument );
}}
public class |nome di Classe|{
public static void main ( String [ ] args ) {
|nome MyMethod già definito|( "|ABC|" );} // chiama MyMethod - già definito - & gli passa l'argomento ABC
static void |nome MyMethod|(String argument) //dichiara il metodo {System.out.print( "|Questo è il metodo|" + argument );
}}
Restituzione di un Valore: “return value” passa un valOre a chi lo chiama.
1)type method-name ( argument ) { return value };
2) method-name ( arg );
public class TryClass{
public static void main ( String [ ] args ) {
int num=10;
System.out.print ("Il numero è "+myMethod( num )); }
// “myMethod(num);” è il chiamante
static int myMethod ( int arg ) {
return ++arg; // restituisce il valore al chiamante
} }
public class |nome di Classe|{
public static void main ( String [ ] args )
// nelle 2 righe seguenti si dichiara il metodo
{ int |Variabile 'num'|=|10|;
System.out.print ("|Il numero è|"+ |MyMethod|(|num||));}
// “myMethod(num);” è il chiamante
static int myMethod ( int arg ) {
return ++arg; // restituisce il valore al chiamante
} }
Output: Il numero è 11.
Definizione
Una classe è un modello (template) per un oggetto, e crea un oggetto.
class Class-name {
type variable;
type function-name( ) { }… }
Public class Color // dichiara la classe 'Color'
{ String c1, c2; //dichiara due membri variabili members
Void brightness ( ) { System.out.print (“……”); } //un metodo
}
Public class |Color| // dichiara la classe 'Color'
{ String |c1|,|c2|; //dichiara due membri variabili
Void |metodo 'Luminosita'| ( ) { System.out.print (“……”); } //un metodo
}
Il precedente codice sopra definisce una classe denominata "Color", due variabili denominate "c1" e "c2", un metodo denominato "luminosità".
Un oggetto è l'istanza di una classe. È articolato come segue:
1) obj = new Class-name( ); //crea un oggetto chiamato “obj” (classe) .
2)
obj.variable; “obj” //obj fa riferimento a variable.
3) obj.function-name( ); //obj fa riferimento a una funzione (metodo)
Color obj = new Color( ); //crea l'oggetto “obj"
obj.c1= “yellow";//l'oggetto obj fa riferimento a variable c1
obj.c2=”purple”; //l'oggetto obj fa riferimento a variable c2.
obj.brightness ( ); //l'oggetto fa riferimento a un metodo
|Color| |obj| = |Classe New Color|( );//crea l'oggetto “obj"
|obj|.|c1|= “yellow"; //l'oggetto obj fa riferimento a variable c1
|obj|.|c2|=”purple”; //l'oggetto obj fa riferimento a variable c2.
|obj|.brightness ( ); //l'oggetto fa riferimento a un metodo
“Color obj = new Color;” crea l'object chiamato ”obj”, poi lo riferisce alle variabili “c1” e “c2”.
“obj.brightness ( );” chiama la funzione “brightness ( );" (vedi l'esempio precedente), e restituisce “blue”.
public class Color { // definisce la classe
String c1, c2;
void brightness ( ) {
System.out.println("Questo fiore è " + c1);
System.out.println("Quel fiore è" + c2);
}
public static void main(String[ ] args) {
Color obj = new Color( ); //crea un oggetto
obj.c1= "yellow.";
obj.c2="purple."; //riferimenti
obj.brightness ( ); //l' oggetto è riferito a un metodo
}}
public class |Color| // definisce la classe
{ String |c1|, |c1|;
void brightness ( ) {
System.out.println("|Questo fiore è|" + |c1|);
System.out.println("|Quel fiore è|" + |c1|);
}
public static void main(String[] args) {
|Color||obj| = new Color( ); //crea an oggetto
|obj|.|c1|= "|giallo.|"; |obj|.|c2|= "|porpora.|"; //riferimenti
|obj|.brightness ( ); //l' oggetto è riferito a un metodo
}}
Output:
Questo fiore è giallo. Quel fiore è porpora.
Spiegazione:
“public class Color { }” // definisce una classe.
“Color obj = new Color( );” // crea un oggetto
Un costruttore viene utilizzato per dare i valori iniziali a delle variabili. Il nome del costruttore è lo stesso del nome della classe.
class Class-name{...} // definisce una classe
Class-name( ) { …} // costruttore per inizializzazione
Class-name( ) { …} // dichiara un costruttore
public class Color //crea una classe
{ String c1, c2;
Color ( ) { c1=”giallo”; c2=”porpora”; }} // è il costruttore
public class |Color|//crea una classe
{String |c1|, |c2|;
|Color|( ) { |c1|=”|giallo|”; |c2|=”|porpora|”; }} // è il costruttore
“Color ( ) { c1=”giallo”;
c2=”porpora”; }” è un costruttore che inizializza la variable c1 come “giallo” e la c2 come “porpora”.
Quando viene creato un oggetto il costruttore viene chiamato automaticamente.
public class Color // crea una classe
{ String c1, c2;
Color ( ) {c1="yellow"; c2="purple";} // costruttore
void brightness ( ) {
System.out.println("Questo fiore è " + c1);
System.out.println("Quel fiore è " + c2); }
public static void main(String[] args) {
Color obj = new Color( ); //crea l'oggetto, chiama il costruttore
obj.brightness ( );
public class |Color|// crea una classe
{ String c1, c2;
|Color| ( ) {|c1|="yellow"; |c1|="purple";} // costruttore
void brightness ( ) {
System.out.println("|Questo fiore è|" + |c1|);
System.out.println("|Quel fiore è + |c1|);
}
public static void main(String[] args) {
|Color| |obj| = new Color( ); //crea l'oggetto, chiama il costruttore
|obj|.brightness ( );
“Color ( ) {c1="yellow"; c2="purple";}” crea un costruttore.
“Color obj = new Color( );” crea un oggetto, e chiama automaticamente ile costruttore.
Quando in una classe esistono due o più metodi con lo stesso nome e i loro argomenti sono diversi si ha un Sovraccarico.
packagecorrectPackage;
class Color {
String x,y; // definisce una classe
Color ( String a, String b) { x=a; y=b; } // Sovraccarico
Color ( ) { x="giallo "; y="porpora";} // Sovraccarico
public static void main (String args[ ] {
{ Color obj1=new Color("verde", "arancio "); Color obj2=new Color( );
System.out.println(obj1.x + obj1.y);
System.out.println(obj2.x + obj2.y);}
}
package |correctPackage|;
class |Color|{
String |x|, |y|; // definisce una classe
|Color| ( String |a|, String |b|) { |x|=|a|; y=|b|; } // Sovraccarico
|Color| ( )
{ |x|="|giallo|"; |y|="|porpora|";} // Sovraccarico
public static void main (String args[ ])
{ |Color| |obj1|=new Color("|verde|", "|arancio|");
|Color| |obj2|=new Color( );
System.out.println(|obj1|.|x| + |obj1|.|y|);
System.out.println(|obj2|.|x| + |obj2|.|y|);}
}
correctPackage;
class MyClass {
int num;
void test(int num) {
this.num=num; // “this” represents the “obj”
System.out.println( this.num );
};
public static void main(String[ ] args) { MyClass obj = new MyClass( );
obj.test(10);// obj chiama il metodo test
}
}
class MyClass {
int x, y;
MyClass ( ) {
this ( 100, 200 );} //“this" si riferisce a MyClass (int a, int b){ }
MyClass ( int a, int b){ x=a; y=b;
}
class |MyClass| {
int |x|, |y|;
|MyClass| ( ) {
this ( |100|, |200| );//“this" si riferisce a MyClass (int a, int b){ }
}
|MyClass| ( int |a|, int |b|){|x|=|a|; |y|=|b|; }
"This (100, 200)" rappresenta un altro costruttore con lo stesso nome cioè "MyClass (int a, int b) {}".
Si noti che "This" non può rappresentare un metodo non costruttore.
variabile instance: è definita in una classe e funziona nella classe corrente.
variabile locale: è definita in un metodo e Funziona con il metodo corrente.
Class Point {
int x= 100, y = 200; // variabile instance
void test( ){
int x = 1, y = 2; // variabile locale
}
}
class |Point| {
int |x|= |100|, |y| =|200|; // variabile instance legata alla classe
void test( ){
int |x| = |1|, |y|= |2|;} // variabile locale
}
Package myPackage;//crea il package
public class Message { //dichiara la classe Messagee
String nome, email, telef;
public Message(String theNome, String theEmail, String theTelef)
//dichiara un costruttore per l'inizializzazione
{ nome = theNome;
email = theEmail;
telef = theTelef;}
void mostraEmail(){ //genera la funzione per mostrare l'email
System.out.println("Email:" + email);}
void mostraTelef(){ //genera la funzione per mostrare nº telefono
System.out.println("Telefono:" + telef);}
public static void main(String[] args) { //dichiara una funzione main
Message LINO = new Message ("LINO", "LINO@xxx.xxx", "0620-xxx-09"); //crea l'oggetto Message LINO, e chiama il costruttore
System.out.println(LINO.nome);
LINO.mostraEmail( ); //chiama La funzione che mostra l'email
ANDREA.mostraTelef( ); // call a function
Message ANDREA = new Message ("ANDREA", "ANDREA@xxx.xxx", "0620-xxx-09"); //crea l'oggetto Message ANDREA, e chiama il costruttore
System.out.println(ANDREA.nome);
ANDREA.mostraTelef( ); //chiama La funzione che mostra il telefono
}
}
package |myPackage|; //crea il package
public class Message //dichiara la classe Message
{ String |nome|, |email|, |telefono|;
public Message(String |theNome|, String |theemail|, String |thetelef|) //dichiara un costruttore per l'inizializzazione
{ |nome| = |theNome|;
|email| = |theemail|;
|telefono| = |theTelef|;}
void |MostraEmail|() //genera la funzione per stampare l'email
{System.out.println("|email :|" + |email|);}
void |Mostratelef |() //genera la funzione per stampare nº telefono
{System.out.println("|Tel :|" + |telefono|);}
public static void main(String[] args) //dichiara una funzione main
{ Message |LINO| = new Message ("|LINO|", "|LINO@xxx.xxx|", "|678-xxx-9999|"); //crea l'oggetto Message LINO, e chiama il costruttore
System.out.println(|LINO|.|nome|);
|LINO|.|MostraEmail|( ); //chiama La funzione che mostra l'email
Message |ANDREA| = new Message ("|ANDREA|", "|ANDREA@xxx.xxx|", "|567-xxx-0000"); //crea l'oggetto Message ANREA, e chiama il costruttore
System.out.println(|ANDREA|.|nome|);
|ANDREA|.|MostraTelef|( ); //chiama la funzione che mostra il telefono
}
}
Fare clic sul pulsante verde col triangolo bianco nella barra degli strumenti per eseguire il programma e vedere l'output:
LINO
E-mail: LINO@xxx.xxx
ANDREA
Telefono: 0620-xxx-09