| EUeStEEu a întrebat:

Ma poate ajuta cineva cu o problema legata de java?
Incep codul :
public class Main {
public static void main(String[] args) {
System.out.println("Hello world"); }
}
am terminat cu codul
Intrebarea mea este următoarea: cum cotinui sa printez altceva,daca bag I public class Main imi da eroare, iar daca,, creez,, un alt public class tot imi da eroare.
Chiar asa ce semnifica aceste public class?

10 răspunsuri:
| T0T a răspuns:

Nu am făcut Java, dar de obicei acces public legat de o clasă înseamnă că entitatea din clasă poate fi accesată în mod direct de către utilizator după rularea programului. Privat, înseamnă că nu poate fi accesată de utilizator, dar de alte funcții publice din clasă. Tu declarând ceva public înseamnă că face parte dintr-o clasă. Clasa ta Main face parte din altă clasă? Dacă nu, nu mai scrie acel public.

| Frank51 a răspuns:

Nu ai nevoie de altă clasă ca să mai printezi altceva, pur și simplu folosești tot asta System.out.println("xxxxx");

suntserios
| suntserios a răspuns:

Pune mana si invata principiile programarii orientate obiect inainte sa te arunci cu capul in Java. Nu vei intelege nimic.

suntserios
| suntserios a răspuns (pentru T0T):

Cum sa faca o clasa parte din alta clasa. Si asa omul e confuz despre programarea orientata obiect. Nu il baga si tu în ceata cu bazaconiile scrise acolo

| T0T a răspuns (pentru suntserios):

Se numește clasă cuibărită (nested class) și poate fi declarată ca fiind privată.

https://docs.oracle.com/javase/tutorial/java/javaOO/nested.html

suntserios
| suntserios a răspuns (pentru T0T):

Aha, bun, am inteles, exista nested class in java. Greseala mea... si totusi ce legatura are cu ce intreaba omul? Vrei sa il incurci si mai tare?

| T0T a răspuns (pentru suntserios):

Încercam să îi explic că nu trebuie pus public acolo. Public se pune doar dacă declari funcții, variabile sau clase într-o clasă. Nu știu dacă respectivul a făcut altă eroare. Asta mi s-a părut cea mai evidentă. De asemenea, nu știu câte cunoștințe are legate de clase. Eu nu vreau să încurc pe nimeni.

suntserios
| suntserios a răspuns (pentru T0T):

De ce nu trebuie pus public acolo?
Public poti pune unde vrea mușchiul tau ca nu iti impune nicio restrictie. Nu e o eroare de cod sa iti faci clasa si membrii publici.

| T0T a răspuns (pentru suntserios):

Da, ai dreptate. Greșeala mea atunci legată de acest aspect. Nu sunt familiarizat cu acest fel de declarare al unei clase sau cu Java, cum am spus. Respectivul a spus că îi dă eroare și eu nu văd ce eroare ar putea da în afară de asta. Am testat acum codul și e bun.
În afară să îi explic ce înseamnă public și privat, atunci, nu pot face mai mult. Dacă tu îl poți ajuta ceva mai mult, dă-i drumul.

| DamnedDark a răspuns:

La cat de veche e intrebarea asta nu cred ca mai are rost sa raspund dar o sa o fac oricum.

In java orice cod trebuie sa faca parte dintr-o clasa, in acest caz clasa Main, si pentru inceput o sa lucrezii doar in clasa asta.

In clasa poti sa definesti variabile de tip String, int, double etc. sau metode(functii), metoda in care ruleaza codul fiind:
public static void main(String []args), deci daca ai crea alta metoda si ai chemao acolo dupa hello world va fi rulata dupa hello world.

Daca in loc de hello world sau in plus de hello world mai vrei sa printezi ceva de exemplu un int(intreg) si un String poti sa le scrii im main asa:

int varsta = 20;
String nume = "Andrei";
System.out.println("Numele lui este "+nume+" si are "+varsta+" ani");

Doar sa nu uiti ca tot codul asta trebuie sa fie scris in metoda main ca sa ruleze.

Sau poti sa scrii o metoda separata care ia 2 valorii, un String si un int si le afiseaza:

class Main
{
public static void main(String []args)
{
printeaza("Andrei", 24);
printeaza("Adi", 20);
}
public static void printeaza(String nume, int varsta)
{
System.out.println("Numele lui este "+nume+" si are "+varsta+" ani");
}
}