Newsgroup: it.comp.java
Titolo: Spiegazione per principiante

Salve ,
premetto che sto da poco iniziando a studiare java... oggi ho scaricato dal
un sito un videotutorial su eclipse per java
totalbeginner. sono arrivato alla lezione 2 ma non riesco a capire delle
cose .
questo è il codice---
volevo chiedervi se mi spiegate quale la differenza nell'ultilizzo del
public void -public string non sono riuscito a trovare un libro dove spiega
bene questa differenza ed i casi o lke regole in cui deveono essere usati.
grazie
package org.totalbeginner.tutorial;
public class Person {
 //fileds
 private String name; //name of the person
 private int maximumBooks; //most books the person can check out
 //constructors
 public Person(){
  name = "unknown name";
  maximumBooks = 3;
 }
 public String getName(){
  return name;
 }
    public void setName (String anyName){
 name = anyName;
}
 public int getMaximumBooks() {
  return maximumBooks;
 }
 public void setMaximumBooks(int maximumBooks) {
  this.maximumBooks = maximumBooks;
 }
}

 ha scritto nel messaggio 
news:4846db49$0$29593$4faf...@reader1.news.tin.it...

public void non restituisce nulla, public string invece restituisce come 
valore una stringa.... al posto di string ci può essere qualsiasi tipo di 
oggetto, nel metodo dovrai quindi restituire un oggetto corrispondente 
tramite l'istruzione return (cosa non necessaria con il tipo void)
se hai programmato in altri linguaggi, ad esempio Visul basic:
public void -> public sub
public string -> public function .... as string
In altri linguaggi infatti esistevano procedure (come tipo void) o funzioni.
Spero di essere stato chiaro....

public void - public string
La parola chiave "public" indica che il metodo è pubblico, nel senso
che (diversamente da "private" e "protected") è accedibile a chiunque
crei un'istanza della tua classe.
I metodi, poi, possono avere dei tipi di ritorno, tra cui "void" o
"String". In realtà "void" è un non-tipo, nel senso che indica che il
metodo non restituisce nulla. Come puoi vedere tu stesso, un tipo è
specificato sempre per i metodi che restituiscono un valore, mentre è
specificato void per tutti gli altri.
Chiaro?
(comunque su qualsiasi manuale di Java la cosa è spiegata
perfettamente)

 bene questa differenza ed i casi o lke regole in cui deveono essere usati.
Allora partiamo da questo metodo
 public String getName(){
  return name;
 }
Tu lo utilizzerai su un oggetto di tipo Persona
Person p = new Person();
Hai un oggetto "chiamato" p che fa parte del tipo 'Person'
Se vuoi sapere il nome di questa <<Persona>> tu glielo chiedi a questa
"p" tramite il suo metodo getName()
in questa maniera p.getName();
e ti viene "ritornata come risposta" una stringa/parola contenente
appunto il nome di questa "p"...
... insomma tu hai chiesto un nome e ti viene risposto un nome per
l'appunto.
Con la parolina void si indica, invece, che quel metodo/funzionalità
non ci ritorna nessuna informazione, ma esegue solo una operazione
    public void setName (String anyName){
 name = anyName;
}
una tale operazione, che non ci ritorna nessuna risposta, potrebbe
essere quella di impostare il nome della Persona "p"
ecco come si fa: p.setName("zayon74");
Allora quando Noi abbiamo scritto Person p = new Person();
è successo che è stata creata una Persona, che noi nel nostro
programma individuiamo con una variabile di nome p, ed al momento
della creazione (istanza) di questa Person p essa è stata creata/
istanziata con il nome, di default diciamo, "unknow name" (e con il
valore numerico maximumBooks == 3)
se nel nostro codice eseguiamo il metodo per recuperare il nome di p
(e lo vogliamo vedere su schermo)
possiamo utilizzare una istruzione del genere
System.out.println ( p.getName() );
e sul nostro schermo del pc vedremo comparire la scritta "unknow
name".
Se vogliamo cambiare il nome, in "zayon74", ci basta scrivere
semplicemente
p.setName("zayon74");
e adesso ri-eseguendo l'istruzione
System.out.println ( p.getName() );
stavolta vedremo comparire sul nostro schermo la parola "zayon74".
:)
Piccoli Programmatori Crescono
Ciao

 ha scritto nel messaggio 
news:4846db49$0$29593$4faf...@reader1.news.tin.it...

Grazie mille
per la vostra speingazione