Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Xbox Series S: tutto quello che c'è da sapere
Xbox Series S: tutto quello che c'è da sapere
Manca ormai poco al lancio di Xbox Series S, la console di nuova generazione che, insieme a Xbox Series X e a PlayStation 5, introdurrà nel mondo console aspetti molto importanti come SSD e Ray Tracing. Ecco in un unico articolo tutto quello che sappiamo finora
MSI RTX 3080 GAMING X TRIO 10G, Nvidia Ampere in formato maxi
MSI RTX 3080 GAMING X TRIO 10G, Nvidia Ampere in formato maxi
A tu per tu con la prima scheda video GeForce RTX 3080 "custom" giunta in redazione: ecco la nuova MSI RTX 3080 Gaming X Trio 10G. La scheda si presenta con dimensioni superiori alla Founders Edition, in virtù di un sistema di raffreddamento a tre ventole. Alimentata da tre connettori a 8 pin, non si fa mancare l'overclock di fabbrica.
Nvidia GeForce RTX 3080 alla prova, l'era del ray tracing è finalmente iniziata
Nvidia GeForce RTX 3080 alla prova, l'era del ray tracing è finalmente iniziata
Recensione della GeForce RTX 3080, nuova scheda video di fascia alta di Nvidia basata su architettura Ampere. La Founders Edition si presenta con un design tutto nuovo per permettere di tenere a bada prestazioni senza precedenti, in grado di aprire la strada al gaming in 4K con ray tracing abilitato.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 02-08-2020, 11:37   #1
pepp1995
Junior Member
 
Iscritto dal: Aug 2017
Messaggi: 3
[JAVA]Problemi con i package

PREMESSA: sono alle prime armi con la OOP.
Mi è chiaro che è possibile importare tutte le classi di un package utilizzando la direttiva: import root.package.*;
Non mi è chiaro come sia possibile far riferimento ad una classe mediante l'utilizzo del "nome completo" del suo Package.

Mi spiego meglio: ho creato sul desktop una cartella : mioPackage con la sottocartella: classeAuto ed in questa sottocartella ho creato il .java della classe Auto , con prima riga : package mioPackage.classeAuto;
Dopodiché, NON nella stessa cartella , ho creato la mia mainClass ovvero:

public class AutoTest{
public static void main(String args[])
{
classeAuto.Auto panda= new classeAuto.Auto();
}
}

Tuttavia, al momento della compilazione,il compilatore mi dice che: non esiste alcun package classeAuto.
Ho provato a settare il CLASSPATH come: .;C:\Users\PC\Desktop\mioPackage\classeAuto , ma la compilazione della mainClass mi dà lo stesso errore

DUBBIO: ho notato che invece tutto funziona con un codice che utilizza un package già presente nella cartella di installazione java
// Stampa la data corrente
class prova{
public static void main(String args[])
{
System.out.println(new java.util.Date());
}
}
Mi chiedo: è possibile effettivamente utilizzare una classe di un package che NON sia quello della cartella: java nella root : src SENZA doverla per forza IMPORTARE ??
pepp1995 è offline   Rispondi citando il messaggio o parte di esso
Old 03-08-2020, 08:29   #2
Kaya
Senior Member
 
Iscritto dal: Apr 2005
Messaggi: 1805
Secondo me stai facendo un po di confusione.
il tup Package è "mioPackage" e non "classeauto".
Attendo anche a non confondere package con Import.

Usare il percorso completo del package è utile quando hai due metodi con lo stesso nome e devi specificare all'applicativo quale usare.
Ad esempio se hai un metodo pippo nella tua classe ma ne hai anche uno nel jar "altroPack" allora dovrai richiarmo esplicitamente con altroPack.pippo(), diversamente userà quello che è stato dichiarato nella classe corrente.
Kaya è offline   Rispondi citando il messaggio o parte di esso
Old 03-08-2020, 08:31   #3
Kaya
Senior Member
 
Iscritto dal: Apr 2005
Messaggi: 1805
Quote:
Originariamente inviato da pepp1995 Guarda i messaggi
Mi chiedo: è possibile effettivamente utilizzare una classe di un package che NON sia quello della cartella: java nella root : src SENZA doverla per forza IMPORTARE ??
Ovviamente devi importarlo, quantomeno con Class.forname se proprio non vuoi usare l'import
Kaya è offline   Rispondi citando il messaggio o parte di esso
Old 03-08-2020, 15:34   #4
pepp1995
Junior Member
 
Iscritto dal: Aug 2017
Messaggi: 3
Premessa: grazie per la risposta
Il punto cardine della mia domanda era:
posso importare un package se non ho fissato il CLASSPATH?

Esempio
1.HO sul desktop la cartella di nome mioPackage con all'interno un'altra cartella di nome classeAuto ed all'interno di questa cartella ho un file Auto.java

che ha come prima riga :
package C.Users.PC.Desktop.mioPackage.classeAuto;

seguita da ATTRIBUTI e METODI di quella classe


2.in un' altra cartella che non sia sul desktop, ho un file AutoTest.java
che ha come prima riga:
import C.Users.PC.Desktop.mioPackage.classeAuto.*;

ed in cui mi istanzio degli oggetti di Tipo Auto


3.A questo punto , secondo le slide del corso java seguito , mi aspetterei che:
-senza aver settato il CLASSPATH
-senza dare comandi particolari da linea di comando
compilo la classe Auto ( javac Auto.java)
compilo la mainClass (javac TestAuto.java)
e la compilazione dovrebbe avvenire senza problemi.
PROBLEMA: non viene rilevato il package . Perché?
pepp1995 è offline   Rispondi citando il messaggio o parte di esso
Old 04-08-2020, 09:06   #5
Kaya
Senior Member
 
Iscritto dal: Apr 2005
Messaggi: 1805
Quote:
Originariamente inviato da pepp1995 Guarda i messaggi
package C.Users.PC.Desktop.mioPackage.classeAuto;
Direi che non hai capito come funzionano i package.
Non è un percorso assoluto ad un file in cui le cartelle sono separate con punti.

Per rispondere alla tua domandA:
How to load classes which are not in your classpath
Kaya è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Xbox Series S: tutto quello che c'è da sapere Xbox Series S: tutto quello che c'è da sa...
MSI RTX 3080 GAMING X TRIO 10G, Nvidia Ampere in formato maxi MSI RTX 3080 GAMING X TRIO 10G, Nvidia Ampere in...
Nvidia GeForce RTX 3080 alla prova, l'era del ray tracing è finalmente iniziata Nvidia GeForce RTX 3080 alla prova, l'era del ra...
Sony A7c: anche in casa Sony la full frame diventa compatta. La nostra anteprima Sony A7c: anche in casa Sony la full frame diven...
I dischi SMR alla prova: testiamo il Toshiba P300 da 6 TB I dischi SMR alla prova: testiamo il Toshiba P30...
ho.mobile come nessuno mai! Ecco l'offer...
Il primo notebook gaming di Honor &egrav...
GeForce RTX 3080, un overclocker spinge ...
Viene da Gigabyte una GeForce RTX 3090 m...
Quanto costa un wafer di chip a 5 nanome...
Offerte Amazon: oggi iPhone 11 Pro costa...
General Motors svela la sua gamma di mot...
GitHub contro il razzismo, rimpiazza 'ma...
TikTok: il divieto si farà il 27 ...
Google Chrome: ecco la funziona nascosta...
iPhone e iOS 14: ecco cosa indica il led...
PS5 si mostra per la prima volta dal viv...
Tesla: automobilista si addormenta con i...
TikTok: dopo gli USA anche l'Italia potr...
Apple Watch: ecco come si attiva la geni...
Dropbox
K-Lite Mega Codec Pack
K-Lite Codec Pack Full
Chromium
PowerDVD
OCCT
CrystalDiskInfo
Driver NVIDIA GeForce 456.38 WHQL
Advanced SystemCare Ultimate 13
iTunes 12
Opera 71
Radeon Software Adrenalin 2020 20.9.1
Opera Portable
K-Lite Codec Pack Update
Windows 10 Manager
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 11:26.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
Served by www3v