V Javi so razredi in objekti temelj objektno usmerjenega programiranja (OOP). Pomagajo modelirati entitete iz resničnega sveta in organizirajo kodo na strukturiran način.
- Razred je načrt, ki se uporablja za ustvarjanje predmetov, ki imajo skupne lastnosti in vedenje.
- Objekt je primerek razreda. Predstavlja specifično entiteto, ustvarjeno iz predloge razreda.
Na primer Pes je razred Tommy je objekt tega razreda.
spajanje razvrščanje java
Razredi in predmeti (tukaj je pes razred, Bobby pa predmet)Java razred
Razred je načrt, ki definira podatke in obnašanje objektov. Združuje povezana področja in metode v eno samo enoto. Pomnilnik za njegove člane se dodeli šele, ko je objekt ustvarjen.
- Deluje kot predloga za ustvarjanje predmetov s skupno strukturo.
- Ne zasede pomnilnika za polja do instanciacije.
- Lahko vsebuje polja, metode, konstruktorje, ugnezdene razrede in vmesnike.
class Student { int id; String n; public Student(int id String n) { this.id = id; this.n = n; } } public class Main { public static void main(String[] args) { Student s1 = new Student(10 'Alice'); System.out.println(s1.id); System.out.println(s1.n); } }
Izhod
10 Alice
Java predmeti
Objekt je primerek razreda, ustvarjen za dostop do njegovih podatkov in operacij. Vsak objekt ima svoje stanje.
- Država : Vrednosti, shranjene v poljih.
- Vedenje : Dejanja, opredeljena z metodami.
- Identiteta : Razlikuje en predmet od drugega.
Predmeti odsevajo predmete iz resničnega sveta, kot je izdelek stranke ali krog. Neprimitivni objekti so shranjeni na kupu, medtem ko njihove reference ostanejo na skladu.
Objekti Java (primer psov)Instanciacija predmeta
Ustvarjanje predmeta je znano kot instanciranje. Vsi primerki razreda imajo skupno strukturo in vedenje, medtem ko shranjujejo različne vrednosti stanja.
Deklaracija objekta JavaIzjava:
Pasji tuffy;
To samo deklarira referenco. Objekt ni ustvarjen in sklic je ničelen.
Inicializacija:
kaj je desktop ini
tuffy = new Dog('Tuffy' 'Papillon' 5 'White');
InicializacijaOperator new dodeli pomnilnik in prikliče konstruktor.
Primer: Definiranje in uporaba razreda
Javapublic class Dog { String name; String breed; int age; String color; public Dog(String name String breed int age String color) { this.name = name; this.breed = breed; this.age = age; this.color = color; } public String getName() { return name; } public String getBreed() { return breed; } public int getAge() { return age; } public String getColor() { return color; } @Override public String toString() { return 'Name is: ' + name + 'nBreed age and color are: ' + breed + ' ' + age + ' ' + color; } public static void main(String[] args) { Dog tuffy = new Dog('tuffy' 'papillon' 5 'white'); System.out.println(tuffy); } }
Izhod
Name is: tuffy Breed age and color are: papillon 5 white
Opomba: Vsak razred ima vsaj enega konstruktorja. Če nobena ni definirana, Java nudi privzeti konstruktor brez argumentov, ki kliče nadrejeni konstruktor.
kako prekličeš izbiro v gimp
Inicializirajte predmet z metodo/funkcijo
Javapublic class Geeks { static String name; static float price; static void set(String n float p) { name = n; price = p; } static void get() { System.out.println('Software name is: ' + name); System.out.println('Software price is: ' + price); } public static void main(String[] args) { Geeks.set('Visual Studio' 0.0f); Geeks.get(); } }
Izhod
Software name is: Visual Studio Software price is: 0.0
Načini ustvarjanja predmeta v Javi
Java podpira štiri standardne pristope.
1. Uporaba nove ključne besede
Najbolj neposreden način za ustvarjanje predmeta.
Java// creating object of class Test Test t = new Test();
2. Uporaba refleksije
Uporablja se za dinamično nalaganje razredov, kot je vidno v ogrodjih, kot je Spring.
Javaclass Student { public Student() {} } public class Main { public static void main(String[] args) { try { Class> c = Class.forName('Student'); Student s = (Student) c.getDeclaredConstructor().newInstance(); System.out.println(s); } catch (Exception e) { e.printStackTrace(); } } }
Izhod
Student@1dbd16a6
3. Uporaba metode clone().
clone() ustvari kopijo obstoječega predmeta. Razred mora izvajati Cloneable.
Javaclass Geeks implements Cloneable { String name = 'GeeksForGeeks'; @Override protected Object clone() throws CloneNotSupportedException { return super.clone(); } public static void main(String[] args) { try { Geeks g1 = new Geeks(); Geeks g2 = (Geeks) g1.clone(); System.out.println(g2.name); } catch (Exception e) { e.printStackTrace(); } } }
Izhod
GeeksForGeeks
4. Uporaba deserializacije
Deserializacija je tehnika branja predmeta iz shranjenega stanja v datoteki. Objekt je ponovno ustvarjen iz shranjenega toka bajtov.
Nanašajte se na Serializacija/de-serializacija v Javi .
Javaimport java.io.*; class Student implements Serializable { private String name; public Student(String name) { this.name = name; } public String toString() { return 'Student: ' + name; } } public class Main { public static void main(String[] args) { try (ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream('student.ser'))) { out.writeObject(new Student('Alice')); } catch (IOException e) { e.printStackTrace(); } try (ObjectInputStream in = new ObjectInputStream(new FileInputStream('student.ser'))) { Student s = (Student) in.readObject(); System.out.println(s); } catch (Exception e) { e.printStackTrace(); } } }
Izhod
Student: Alice
En sam sklic lahko kaže na različne predmete ob različnih časih.
JavaTest test = new Test(); test = new Test();
Pri dedovanju je običajno uporabiti nadrejeno referenco za podrejene objekte.
JavaAnimal obj = new Dog(); obj = new Cat();
Nereferencirani objekti postanejo primerni za zbiranje smeti.
topologija omrežja
Anonimni predmeti
Anonimni objekti so ustvarjeni brez sklicevanja in takoj uporabljeni za enkratne operacije.
- Ni referenčne spremenljivke: predmeta ni mogoče ponovno uporabiti.
- Ustvarjeno in uporabljeno takoj shrani pomnilnik za kratkotrajna opravila.
- Pogost pri obravnavanju dogodkov (npr. kliki gumbov).
new Dog('Max' 'Labrador' 3 'Black').getName();
Pogosti pri obravnavanju dogodkov uporabniškega vmesnika.
Ustvari kviz