Java е . С други думи, почти всичко в Java се третира като обект. Следователно, докато програмирате в Java, човек трябва да знае всички възможни начини за създаване на обекти в Java. Но преди да се потопите по-дълбоко в обектите, трябва да знаете концепцията за Java класове и как обектите са свързани с тях.
В тази публикация ще разгледаме 5 различни начина за създаване на обекти в Java и ще разберем всички основни концепции, необходими за разбиране на методите.
- Създавайте обекти с помощта на ключова дума „new“
- Създаване на обекти с помощта на метод clone ()
- Създавайте обекти, използвайки метода newInstance () от класа
- Създавайте обекти с помощта на десериализация
- Създавайте обекти, използвайки метода newInstance () на клас конструктор
Да започваме.
как да изляза от Java програма
Създавайте обекти с помощта на ключова дума „new“
Докато програмирате в Java, определено сте попаднали на ключовата дума „new“. Това е ключова дума, използвана за създаване на обект, който се разпределя динамично, т.е. паметта към тези обекти се присвоява по време на изпълнение. И това динамично разпределение се изисква през повечето време, докато се създават обекти. Следователно този метод се използва по-често от други.
Синтаксис : ClassName ObjectName = new classConstructor ()
публичен клас ObjectCreation {String FirstString = 'Hello World' public static void main (String [] args) {ObjectCreation obj = new ObjectCreation () System.out.println (obj.FirstString)}}
Изход - Здравей свят
Този метод за създаване на обекти в Java може да се използва с всеки конструктор на необходимия клас, ако класът има повече от 1 строител .
Създаване на обекти с помощта на метод clone ()
Ами ако обектът, който искаме да създадем, трябва да бъде копие на вече съществуващ ? В този случай можем да използваме метода clone (). clone () е част от клас Object, но не може да се използва директно, тъй като е защитен метод.
clone () методът може да се използва само след внедряване на Cloneable интерфейс и обработкаCloneNotSupportedException.
class Message реализира Cloneable {String FirstString Message () {this.FirstString = 'Hello World'} public Object clone () хвърля CloneNotSupportedException {return super.clone ()}} public class ObjectCreation {public static void main (String [] аргументи) хвърля CloneNotSupportedException {Съобщение FirstObj = ново съобщение () System.out.println (FirstObj.FirstString) Съобщение SecondObj = (Съобщение) FirstObj.clone () System.out.println (SecondObj.FirstString) SecondObj.FirstString = 'Добре дошли в света на програмирането 'System.out.println (SecondObj.FirstString) System.out.println (FirstObj.FirstString)}}
Изход -
Здравей свят
Здравей свят
Добре дошли в света на програмирането
В горната програма създадохме копие на нашия вече съществуващ обект. За да сте сигурни, че и двете не сочат към едно и също място в паметта, е било важно да промените стойността на ‘FirstString’ за втория обект и след това да отпечатате стойността му и за двата обекта.
Създавайте обекти, използвайки метода newInstance () от клас Class
Този метод не се използва често за създаване на обекти. Този метод за създаване на обект се използва, ако знаем името на класа и конструктор по подразбиране е публичен по своята същност. За да използваме този метод за създаване на обекти, трябва да обработим 3 изключения
ClassNotFoundException- Това изключение възниква, ако JVM не може да намери класа, който се предава като аргумент.
какво прави split в java
InstantiationException- Това изключение възниква, ако даден клас не съдържа конструктор по подразбиране.
IllegalAccessException- Това изключение възниква, ако нямаме достъп до посоченото клас .
След като се погрижим за тези изключения, сме готови.
class ObjectCreation {String FirstString = 'Hello World' public static void main (String [] args) {try {Class Message = Class.forName ('ObjectCreation') ObjectCreation obj = (ObjectCreation) Message.newInstance () System.out.println (obj.FirstString)} catch (ClassNotFoundException e) {e.printStackTrace ()} catch (InstantiationException e) {e.printStackTrace ()} catch (IllegalAccessException e) {e.printStackTrace ()}}}
Изход - Здравей свят
Създавайте обекти с помощта на десериализация
В Java сериализацията се използва за преобразуване на текущото състояние на обект в байтов поток. десериализацията е точно обратното, тъй като ние пресъздаваме обекта, използвайки байтовия поток. За процеса на сериализация трябва да внедрим сериализуем интерфейс. Трябва да се направи обработка на изключение, за да се създадат обекти, използващи този метод.
ако условие в sql заявка
ObjectInputStream objectInputStream = нов ObjectInputStream (inputStream) Classname object = (classname) objectInputStream.readObject ()
Създаване на обекти с помощта на метода newInstance () от клас Constructor
Видяхме метода newInstance на клас Class, който използвахме за създаване на обект. По подобен начин конструкторът на клас също се състои от метод newInstance (), който може да се използва за създаване на обекти. Други конструктори по подразбиране с помощта на този метод също можем да извикаме параметризирани конструктори .
импортиране на java.lang.reflect. * публичен клас ObjectCreation {private String FirstString = 'Hello World' ObjectCreation () {} public void changeMessage (String message) {this.FirstString = message} public static void main (String [] args) { опитайте {Constructor constructor = ObjectCreation.class.getDeclaredConstructor () ObjectCreation objectCreation = constructor.newInstance () objectCreation.changeMessage ('Добре дошли в света на програмирането') System.out.println (objectCreation.FirstString)} catch (Exception e) { e.printStackTrace ()}}}
Изход -
Добре дошли в света на програмирането
Това са 5 различни начина за създаване на обекти в някои се използват по-често от други. Всеки метод има свои предимства и недостатъци. В крайна сметка изборът е ваш.
Java е интересен език, но става сложно, ако основите не са ясни. За да започнете, вашето обучение и овладяване на всички умения, свързани с Java технологията, се записват в и отприщи разработчика на Java във вас.
Имате въпрос към нас? моля, споменете това в раздела за коментари на тази статия за „обекти в Java“ и ние ще се свържем с вас възможно най-скоро.