Java è un linguaggio di programmazione orientato agli oggetti di alto livello, indipendente dalla piattaforma, originariamente sviluppato da Sun Microsystems. Java è attualmente di proprietà di Oracle, che ha acquistato Sun nel 2010.
Supponiamo che io sia limitato a usare C ++ dall'ambiente nel progetto. È utile impedire l'uso di alcune funzionalità del linguaggio di C ++ ma Java non ha (ad esempio: ereditarietà multipla, sovraccarico dell'operatore)? Penso che le ragioni siano: Poiché Java è più recente di C ++, se Java non …
La base di codice su cui sto lavorando spesso utilizza variabili di istanza per condividere dati tra vari metodi banali. Lo sviluppatore originale è fermamente convinto che ciò aderisca alle migliori pratiche dichiarate nel libro di Clean Code di zio Bob / Robert Martin: "La prima regola delle funzioni è …
Java consente di contrassegnare le variabili (campi / locali / parametri) come final, per evitare di riassegnarle. Lo trovo molto utile con i campi, in quanto mi aiuta a vedere rapidamente se alcuni attributi - o un'intera classe - sono fatti per essere immutabili. D'altra parte, lo trovo molto meno …
In Java 8, le interfacce possono contenere metodi implementati, metodi statici e metodi cosiddetti "predefiniti" (che le classi di implementazione non hanno bisogno di sovrascrivere). Dal mio punto di vista (probabilmente ingenuo), non era necessario violare interfacce come questa. Le interfacce sono sempre state un contratto che devi rispettare e …
Il mio caso specifico qui è che l'utente può passare una stringa nell'applicazione, l'applicazione la analizza e la assegna a oggetti strutturati. A volte l'utente può digitare qualcosa di non valido. Ad esempio, il loro contributo può descrivere una persona, ma possono dire che la loro età è "mela". Il …
A quanto ho capito, in Java, la memoria dello stack contiene primitive e invocazioni di metodi e la memoria heap viene utilizzata per archiviare oggetti. Supponiamo che io abbia una lezione class A { int a ; String b; //getters and setters } Dove verrà archiviata la primitiva ain classe …
La maggior parte delle applicazioni Java non ha lo stesso aspetto delle applicazioni C / C ++. Swing potrebbe essere stato progettato apposta per avere un aspetto distinto, ma sulla base di ciò che ho letto, SWT, ad esempio, ha provato a "sembrare nativo", e non ha completamente successo. La …
C ha puntatori e Java ha quelli che vengono chiamati riferimenti. Hanno alcune cose in comune nel senso che indicano tutte qualcosa. So che i puntatori in C memorizzano gli indirizzi a cui puntano. Il riferimento memorizza anche l'indirizzo? In che modo differiscono se non che il puntatore è più …
L'incapsulamento mi dice di rendere privati tutti o quasi tutti i campi e di esporli tramite getter / setter. Ma ora appaiono biblioteche come Lombok che ci consentono di esporre tutti i campi privati con una breve annotazione @Data. Creerà getter, setter e costruttori di impostazioni per tutti i campi …
Odio fare riferimento a contenuti a pagamento, ma questo video mostra esattamente di cosa sto parlando. Esattamente 12 minuti in Robert Martin guarda questo: E dice "Una delle mie cose preferite da fare è sbarazzarsi di parentesi inutili" mentre lo trasforma in questo: Molto tempo fa, in un'educazione molto lontana, …
Da quello che ho letto: il motivo è che non è facile determinare quale metodo verrà effettivamente chiamato in quanto ereditarietà. Tuttavia, perché Java non ha almeno l'ottimizzazione della ricorsione della coda per i metodi statici e impone il modo corretto di chiamare i metodi statici con il compilatore? Perché …
Perché il maestro C Dennis Ritchie ha introdotto i puntatori in C? E perché gli altri linguaggi di programmazione come VB.NET o Java o C # li hanno eliminati? Ho trovato alcuni punti su Google e voglio ascoltare anche i tuoi commenti. Perché stanno eliminando i concetti di puntatore nelle …
Stiamo pensando di imporre un unico formato di codice standard nel nostro progetto (formato automatico con azioni di salvataggio in Eclipse). Il motivo è che attualmente c'è una grande differenza nei formati di codice utilizzati da diversi (> 10) sviluppatori, il che rende più difficile per uno sviluppatore lavorare sul …
In Java, che è più raccomandato, e perché? Entrambi i tipi genereranno eccezioni, quindi a questo proposito gestirli è lo stesso. assertè leggermente più corto, ma non sono sicuro di quanto sia importante. public void doStuff(Object obj) { assert obj != null; ... } vs public void doStuff(Object obj) { …
Sto facendo fatica a progettare le lezioni in un modo oo. Ho letto che gli oggetti espongono il loro comportamento, non i loro dati; pertanto, anziché utilizzare getter / setter per modificare i dati, i metodi di una data classe dovrebbero essere "verbi" o azioni che operano sull'oggetto. Ad esempio, …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.