Search Here

Variables

 


What is Variables




variable किसी memory को दिया गया नाम है जो कि किसी value को Hold करती है या store करती है। मतलब जब हम Variable define कर रहें है तो हम memory में value को store करके उसे नाम दे रहे होते हैं। इसलिए variables को named storage भी कहते हैं।

Java define a variable

Java में variables PHP , Python , JavaScript से थोड़ा different तरीके से define किया जाता है। Java में variables को उनके data types के साथ define किया जाता है , मतलब आपको initialize करते समय यह बताना पड़ता है , कि variables किस type की value store करेगा। Java में variables को उनके data types के साथ define किया जाता है , जैसा कि आप example में देख सकते हैं।

class Variables { 

 public static void main(String[] args)   

   {    

    // define integer variable.    

    int age = 25;    

    // defien string variable.

    String name = "Rahul Kumar";

    System.out.println("Name : "+ name); 

    System.out.println("Age : "+ age);

  }

}

तो कुछ इस तरह से Java में variables को define किया जाता है। हालाँकि data types और भी कई तरह के होते हैं जिन्हे आप आगे detail में पढ़ेंगे।

normally define किये गए सभी variables की value को अपनी need के according change / update कर सकते हैं।

int age=90;age = 65;//you can change variable value any timeage = 89;

Java में variables case sensitive होते हैं , मतलब same name के साथ lower और upper case में define किये गए variables अलग होंगे।
See Example -

class Variables { 

   public static void main(String[] args)   

    {    

       String name = "variable : name";    

       // now define same vairable with different case.    

        String Name = "variable : Name";

       System.out.println(name);

       System.out.println(Name);

  }

}

Java declare multiple variables

आप same data type के variables को अलग अलग initialize करने के बजाय उन्हें एक साथ भी define कर सकते हैं।

class Variables

{  

  public static void main(String[] args)   

  {    

    // you can define multiple variables like this.    

    int x = 51, y = 16, z = 50;    

    System.out.println(x + y + z);

  }

}

Java One Value to Multiple Variables

आप equals = operator का use करके किसी value को same type के variable में भी assign कर सकते हैं।

class Variables { 

   public static void main(String[] args)   {    

      // define multiple variables.    

      int x, y, z;    

      // assign same value to all variables.

      x = y = z = 10;

      System.out.println(x + y + z);

  }

}

Important about variable

1. आप same variable को एक से ज्यादा बार define नहीं कर सकते हैं -

2. हालाँकि यह , ध्यान रहे कि data type के according ही variable में value store होनी चाहिए , ऐसा नहीं हो सकता है कि int variable में string value assign करें। और char type के variable में boolean . हालाँकि ऐसा करने पर syntax error मिलेगी, या हो सकता है कि variable में assign की value proper नहीं मिलेगी।

Java Rules to define variables

  1. variable name सिर्फ letters, digits, underscores, और dollar signs के साथ define कर सकते हैं।

  2. variable name किसी letter से ही start होना चाहिए।

  3. variable name को हमेशा lowercase letter से start करना चाहिए और white space नहीं होने चाहिए।

  4. जैसा कि आपने ऊपर example देखा कि variable name case sensitive होते हैं , तो इस बात का ध्यान रखें।

  5. Java language में define कोई भी reserved keyword (int or boolean) , variable name नहीं हो सकते हैं।

Java Types Of Variables

हालाँकि variables के types भी कई तरह से होते हैं।

  1. int : integers store करता है (whole numbers), decimals के बिना, जैसे 123 या -123।

  2. float : floating-point numbers store करता है, decimals के साथ, जैसे कि 19.99 or -19.99।

  3. char : single characters store करता है, जैसे 'A' or 'B'। Char values single quotes से घिरे होते हैं।

  4. string : text store करता है, जैसे "Hello World"। String values double-quotes से घिरे हैं।

  5. boolean : दो states के साथ value को store करता है: true or false।

I Hope, अब आपको Java में variables के बारे में अच्छे से समझ आ गया होगा।



What Constant in java


Constant एक variable है जिसकी value को एक बार assign करने के बाद change नहीं किया जा सकता है. Java के पास constant के लिए built-in सपोर्ट नहीं है. एक Constant का प्रयोग करके हम program को आसानी से read किया जाने वाला बना सकते है और प्रोग्राम को दूसरे लोग आसानी से समझ सकते हैं.

Syntax :- final float pi = 3.14f;


उदाहरण:-

public class ConstantExample {

   public static void main(String args[]) {

      final byte varOne = 12;

      final byte varTwo;

      varTwo = -32;

      final short varThree = 323;

      final short varFour;

      varFour = -224;

      final int varFive = 500;

      final int varSix;

      varSix = -112;

      final long varSeven = 20000;

      final long varEight;

      varEight = -11223;

      final float varNine = 21.23f;

      final float varTen;

      varTen = -121.23f;

      final double varEleven = 20000.3223;

      final double varTwelve;

      varTwelve = -11223.222;

      final boolean varThirteen = true;

      final boolean varFourteen;

      varFourteen = false;

      final char varFifteen = 'e';

      final char varSixteen;

      var16 = 't';

     // Displaying values of all variables

      System.out.println("value of var1 : "+varOne);

      System.out.println("value of var2 : "+varTwo);

      System.out.println("value of var3 : "+varThree);

      System.out.println("value of var4 : "+varFour);

      System.out.println("value of var5 : "+varFive);

      System.out.println("value of var6 : "+varSix);

      System.out.println("value of var7 : "+varSeven);

      System.out.println("value of var8 : "+varEight);

      System.out.println("value of var9 : "+varNine);

      System.out.println("value of var10 : "+varTen);

      System.out.println("value of var11 : "+varEleven);

      System.out.println("value of var12 : "+varTwelve);

      System.out.println("value of var13 : "+varThirteen);

      System.out.println("value of var14 : "+varFourteen);

      System.out.println("value of var15 : "+varFifteen);

      System.out.println("value of var16 : "+varSixteen);

   }

}

What Literals  in java


जावा में literal एक constant value होती है जिसे variable को assign किया जाता है. दूसरे शब्दों में कहें तो, “literal एक identifier होता है जिसकी वैल्यू fix होती है और program के execution के समय इसकी वैल्यू बदलती नहीं है.” example:- int a = 150; //इसमें 150 literal है.

types of literals   

जावा में literals 5 प्रकार के होते हैं, जो कि निम्नलिखित हैं:-

1:- integral literals

हम integral literals को 4 तरीकों से specify कर सकते हैं:-

  • Decimal – इसमें 0-9 तक की digits आती हैं.
    int a = 108

  • octal – इसमें 0 से 7 तक की digits आती है. और इसके शुरुआत में 0 लगना चाहिए.
    int a = 0146

  • Hexa decimal – इसमें 0-9 तक की digits आती हैं और a से f तक के characters इसमें आते हैं. इसके अलावा इसमें uppercase और lowercase characters का प्रयोग कर सकते हैं.
    int x = 0X123Face;

  • Binary – इसमें 0 और 1 आते हैं और इसमें prefix-  0b और 0B होना चाहिए.
    int x = 1111;

2:- floating point literals

इसमें data types केवल decimal में specify किये जा सकते है. इसमें octal और hexadecimal का प्रयोग नहीं होता है.

3:- Char literals

char चार प्रकार के होते हैं:-

  • single quote – जावा में literals को single quote के अन्दर specify किया जा सकता है.
    char y = ‘a’;

  • char as integral – java में char literal को integral literals के रूप में भी specify किया जा सकता है. इसके अलावा integer को decimal, octal और hexadecimal में specify किया जा सकता है परन्तु इसकी range – 0 से 65535 तक होती है.

  • unicode – char literals को unicode के रूप में भी प्रस्तुत किया जा सकता है.
    char ch = ‘\u0061’;

  • escape sequence – जावा  में char literals के रूप में escape sequence को भी specify कर सकते है.

4:- String literals –

string literals जो है वह characters का एक क्रम होता है जिसे double quote के अंदर लिखा जाता है.

String y = “Hello”;

5:- Boolean literals –

इसमें केवल दो values होती हैं:- true या false.

boolean b = true;

इसका example:-

public class BooleanLiteral {

public static void main(String[] args)

{

boolean boolVar1 = true;

boolean boolVar2 = false;

// boolean boolVar3 = 0; error: incompatible types: int cannot be converted to boolean

// boolean boolVar1 = 1; error: incompatible types: int cannot be converted to boolean

System.out.println(boolVar1);

System.out.println(boolVar2);

}

Type of Variables


Java Variables: Variable एक कंटेनर है जो value को स्टोर करता है। Variable को उपयोग करने से पहले उसे कुछ वैल्यू देना होता है। एक variable में स्टोर किए हुए वैल्यू को program के execution के दौरान बदला जा सकता हैं। जावा में प्रत्येक वेरिएबल का एक विशिष्ट प्रकार होता है, जो variable की मेमोरी का साइज़ और लेआउट निर्धारित करता हैं।

Java में variables के लिए बुनियादी नियम

  • Variables के नाम में खाली स्थान नहीं हो सकते है, जैसे की int number = 10; को int num ber = 10; की तरह नहीं लिखा जा सकता है।

  • केवल दो ही special characters $ और _ का इस्तेमाल किया जा सकता है variable name के लिए।

  • एक variable का नाम numbers से शुरू नहीं हो सकता, जैसे की 1, 2, 5 इत्यादि।

  • "Keywords" का उपयोग variable का नाम के रूप में नहीं किया जा सकता हैं।

  • Variable नाम भी case sensitive होते हैं क्योंकि Java खुद ही case sensitive होता हैं। (“name” और “Name” ) दोनों अलग – अलग variables हैं।

  • Variable नाम lower case से शुरू होना चाहिए। यदि एक variable नाम बनाने के लिए कई शब्दों का उपयोग किया जाता है, तो आंतरिक शब्द का प्रत्येक पहला अक्षर upper case में होगा। Example: int wholeNumber = 10;

Syntax

 

Java Varaible

data_type: डेटा का प्रकार जिसे इस variable में स्टोर किया जा सकता है।
variable_name: Variable को दिया गया नाम।
value: Variable में स्टोर की हुई इनिशियल वैल्यू स्टार्ट स्टोर।

Example: Variables in Java

public class MyClass {


  public static void main(String[] args) {

    int age = 26;

    System.out.println(age);

  }

}



Types of Variables in Java

Java में तीन प्रकार के variables होते हैं।

(i) Local variables
(ii) Instance variables
(iii) Static/Class variables

Local variables

  • एक variable जो किसी block या method या constructor के अंदर डिफाइन किया जाता है उससे local variable कहा जाता हैं।

  • एक local variable "static" कीवर्ड से डिफाइन नहीं किया जा सकता हैं। अर्थात लोकल वेरिएबल में "static" कीवर्ड का इस्तेमाल नहीं किया जा सकता हैं।

  • Access modifiers का इस्तेमाल local variables के लिए नहीं किया जा सकता हैं।

  • इन variables का दायरा declared method तक सीमित होता है, जिसका अर्थ है कि हम उनके वैल्यू को ना ही बदल सकते हैं और ना ही उन्हें method के बाहर से एक्सेस नहीं कर सकते हैं, जिस method में उन्हें declare किया गया हैं।

Example: Local Variables in Java

public class MyClass {


  public static void boardMarks() {

    int x = 80;

    System.out.println("Marks in exam is " + x);

  }


  public static void main(String[] args) {

    boardMarks();

  }

}



Output: Marks in exam is 80

Example Brief: ऊपर के उदाहरण, में x एक लोकल वेरिएबल जोकि boardMarks() method के अंदर डिफाइन किया हुआ, इसका मतलब है की x सिमित है boardMarks() method के अंदर तक ही, यानी कि boardMarks() method के बाहर से x की वैल्यू को एक्सेस नहीं कर सकते हैं।

Instance variables

  • Instance variables एक non-static variables होते हैं जिन्हें Class के अंदर घोषित किया जाता है लेकिन method के बाहर।

  • Instance variables को क्लास के अंदर declare किया जाता है, variables तब बनाए जाते हैं जब कोई object बनाया जाता है, new keyword के उपयोग से और object के destroy होने पर variables भी नष्ट हो जाता है। यही कारण है कि instance variables को केवल ऑब्जेक्ट बनाकर ही एक्सेस किया जा सकता है।

  • Instance variables के पास अपना डिफ़ॉल्ट वैल्यू होते हैं। numbers के लिए डिफ़ॉल्ट मान 0 है, Booleans के लिए false है, और object references के लिए यह null है। वैल्यू असाइन किए जा सकते हैं declaration के दौरान या constructor के भीतर। इसलिए Instance Variable का आ Initialisation अनिवार्य नहीं होता हैं।

  • Instance variables के लिए Access modifiers दिए जा सकते हैं।

  • Instance variables में वे वैल्यू होते हैं जिन्हें एक से अधिक method, constructor या block द्वारा referenced किया जाना चाहिए।

  • Local variables के विपरीत, हम instance variables के लिए access specifiers का उपयोग कर सकते हैं, यदि हम करना चाहे तो। यदि हम किसी access specifiers को specify न करें तो default access specifier का उपयोग किया जाता है Java के द्वारा।

Example: Instance Variables in Java

public class MyClass {


  public String name;

  private int marks;


  public MyClass(String studentName) {

    name = studentName;

  }


  public void setMarks(int studentMarks) {

    marks = studentMarks;

  }


  public void printStudent1() {

    System.out.println("Student 1 Name: " + name);

    System.out.println("Student 1 Marks: " + marks);

  }


  public void printStudent2() {

    System.out.println("Student 2 Name: " + name);

    System.out.println("Student 2 Marks: " + marks);

  }


  public static void main(String[] args) {

    MyClass studentFirst = new MyClass("Narendra");

    studentFirst.setMarks(430);

    studentFirst.printStudent1();


    MyClass studentSecond = new MyClass("Brajlal");

    studentSecond.setMarks(248);

    studentSecond.printStudent2();

  }

}



Output:
Student 1 Name: Narendra
Student 1 Marks: 430
Student 2 Name: Brajlal
Student 2 Marks: 248

Static/Class variables

  • Static variables को Class variables के नाम से भी जाना जाता हैं।

  • प्रोग्राम के execution की शुरुआत में static variables बनाए जाते हैं, और यह automatically नष्ट हो जाते हैं execution समाप्त होने पर।

  • Instance variables की तरह, Static variable के पास अपना डिफ़ॉल्ट वैल्यू होते हैं। numbers के लिए डिफ़ॉल्ट मान 0 है, Booleans के लिए false है, और object references के लिए यह null है। वैल्यू असाइन किए जा सकते हैं declaration के दौरान या constructor के भीतर। इसलिए Instance Variable का आ Initialisation अनिवार्य नहीं होता हैं।

  • Static variables को Static मेमोरी में स्टोर किया जाता हैं।

  • यदि हम class name के बिना static variable का उपयोग करते हैं, तो Compiler अपने आप ही class का नाम जोड़ देगा

  • class name से कॉल करके static variable को एक्सेस किया जा सकता है, जैसे की class_name.variable_name;

Example: Static/Class Variables in Java

public class MyClass {


  // marks variable is a private static variable

  private static int marks;


  // SUBJECT is a constant

  public static final String SUBJECT = "Mathematics";


  public static void main(String[] args) {

    marks = 85;

    System.out.println(SUBJECT + " Marks is: " + marks);

  }

}



Output: Mathematics Marks is: 85

Java Identifiers

Java में, variable को एक unique नाम से पहचाना जाना चाहिए। इन unique नामों को ही Java में Java Identifier के रूप में जाना जाता है। Identifier एक छोटा शब्द या एक अक्षर (x, y, z) या एक अच्छी तरह से described शब्द हो सकता है जिसे आसानी से समझा जा सकता है (age, sum, weight, marks)।

Example

// x एक छोटा identifier हैं।

String x = "30 Years";


// age एक described, identifier हैं।

String age = "30 Years";


  • Java में variables केवल एक प्रकार का identifier है। function names, class names, structure names आदि एक अन्य प्रकार के identifier हैं।

  • इसलिए प्रत्येक variable को एक identifier कहा जा सकता है, लेकिन इसके विपरीत प्रत्येक identifier को एक variable के रूप में नहीं कहा जा सकता हैं।

सरल भाषा में समझे तो Java में किसी को भी यूनिक बनाए रखने के लिए, यूनिक नाम का इस्तेमाल किया जाता है उसी को Java Identifiers कहा जाता है

टिप्स: Variable को कभी भी letters जैसे की (a, b, c, d या x, y, z ) में ना लिखे, इसे हमेसा वर्ल्ड में लिखें जैसे में (age, marks, name, color) यह काफी अच्छा तरीका होता है Variable डिक्लेरेशन का, इससे variable को देख कर असानी से समझा जा सकता हैं।




Memory Management according to variable



Memory Allocation in Hindi – मैमोरी एलोकेशन क्या है?

Memory allocation एक ऐसी प्रक्रिया जिसमें कंप्यूटर प्रोग्राम्स को मेमोरी allocate की जाती है।

मेमोरी एलोकेशन दो प्रकार की होती है:-
1:- Static Memory Allocation
2:- Dynamic Memory Allocation

Static Memory Allocation

static memory allocation में मेमोरी को compile time में ही allocate कर दिया जाता है। इस allocation का प्रयोग तब किया जाता है जब मेमोरी की साइज़ fix (निश्चित) हो।

इसमें हम execution के दौरान मेमोरी को allocate और deallocate नही कर सकते है तथा जो variables होते है वह हमेशा के लिए allocate हो जाते है। stacks तथा heaps के द्वारा इस allocation को implement किया जाता है।

memory allocation in hindi

Dynamic Memory Allocation

वह प्रक्रिया जिसमें मैमोरी runtime में allocate की जाती है Dynamic memory allocation कहलाती है। Data segments के द्वारा इस allocation को implement किया जाता है।



जावा में वैरिएबल को वैल्यू कैसे असाइन करें?


वैरिएबलनाम टाइप करें = मान; जहां टाइप जावा के प्रकारों में से एक है (जैसे कि int या String ), और वेरिएबलनाम वेरिएबल का नाम है (जैसे कि x या नाम)। समान चिह्न का उपयोग वेरिएबल को मान निर्दिष्ट करने के लिए किया जाता है


Constant  in java


Constant एक variable है जिसकी value को एक बार assign करने के बाद change नहीं किया जा सकता है. Java के पास constant के लिए built-in सपोर्ट नहीं है. एक Constant का प्रयोग करके हम program को आसानी से read किया जाने वाला बना सकते है और प्रोग्राम को दूसरे लोग आसानी से समझ सकते हैं.


Data Types In java In Hindi

Programming में Data Type बहुत ही important concept है। क्योंकि Data Type के according ही हम variable define करते हैं और उनके लिए logic implement करते हैं।


Data Type का simply मतलब है किसी variable का type, जिससे हमें पता चल सके कि कोई variable किस type की value hold किये हुए है , या in future किस type की value hold करेगा।

पिछले topic में आपने Variables और final Variables के बारे में पढ़ा और समझा , आपको याद होगा कि कोई भी variable define करने से पहले हमें उसका data type define करते थे जिससे पता लगाया जा सके कि वो variable किस type की value hold करेगा। इस topic में आप उन्ही सब data types के बारे में पढ़ेंगे।

Java Primitive Data Types

Java में 8 basic data types define किये गए हैं जो कि इस प्रकार हैं -

Type

Keyword

Size

Description

Boolean

boolean

1 bit

Boolean में सिर्फ दो values true , false होती हैं।

Character

char

2 bytes

यह single character store करता है।

Integer

int

4 bytes

यह बिना decimal points वाले whole numbers (-2,147,483,648 to 2,147,483,647) को store करता है।

Floating point

float

4 bytes

यह fractional numbers को point के बाद 7 digits तक store करता है।

Double floating point

double

8 bytes

यह भी fractional numbers को point के बाद 15 digits तक store करता है।

Long Integer

long

8 bytes

यह भी integer की तरह बिना decimal points वाले whole numbers (-9,223,372,036,854,775,808 to 9,223,372,036,854,775,807) को store करता है।

Short Integer

short

2 bytes

short integer whole numbers को -32,768 से 32,767 तक store करता है।

Byte

byte

1 byte

byte Integer , whole numbers को -128 से तक store करता है।

Java Data Type Example

File : DataType.java

CopyFullscreen

public class DataType

{

  public static void main(String[] args) 

  {

     int int_var = 23;

     boolean bool_var = true;

     char char_var = 'A';

     float float_var = 34.45f;

     byte byte_var = 125;

     

     // now print them.

     System.out.println("Integer value : "+ int_var);

     System.out.println("Boolean value : "+ bool_var);

     System.out.println("Character value : "+ char_var);

     System.out.println("Float value : "+ float_var);

     System.out.println("Byte value : "+ byte_var);

  }

}

Output

javac DataType.java

java DataType

Integer value : 23

Boolean value : true

Character value : A

Float value : 34.45

Byte value : 125

Java character

char data type का use किसी single character को store करने के लिए use किया जाता है। जैसे 'A' or 'b'।

char grade = 'A';


ध्यान रहे variable में store की जाने वाली value हमेशा single quotes '' में ही होनी चाहिए double quotes में नहीं। अगर आप double quotes में किसी character को रखते हैं कुछ इस तरह से error आती है।

char grade = "A";

System.out.println(grade);


error: incompatible types: String cannot be converted to char

    char grade = "A";

                 ^

1 error


हालाँकि अगर आप ASCII values से familiar हैं तो आप किसी character value की ASCII भी assign कर सकते हैं।

File : DataType.java

CopyFullscreen

public class DataType

{

  public static void main(String[] args) 

  {

    // define char variables with ASCII value.

    char char_var1 = 70, char_var2 = 72, char_var3 = 74;

    System.out.println(char_var1);

    System.out.println(char_var2);

    System.out.println(char_var3);

  }

}

Output

javac DataType.java

java DataType

F

H

J

Java Boolean

boolean data type को boolean keyword के साथ define किया जाता है , boolean data type की सिर्फ दो values ही होती हैं true , false .

File : BooleanType.java

CopyFullscreen

public class BooleanType

{

  public static void main(String[] args) 

  {

    boolean isJavaEasy = true;

    boolean isJavaHard = false;

    System.out.println(isJavaEasy);

    System.out.println(isJavaHard);

  }

}

Output

javac BooleanType.java

java BooleanType

true

fals

ध्यान रहे boolean values सिर्फ true & false ही हैं , उन्हें आप True / False या trUe / falsE नहीं लिख सकते हैं।

Non primitive Data type in Hindi

जावा में non primitive डाटा टाइप को reference types कहा जाता है क्योंकि वे object को refer करते हैं. ये निम्नलिखित प्रकार के होते है:-

String:- string का प्रयोग characters के एक क्रम (sequence) को स्टोर करने के लिए किया जाता है. इसकी value को double quote के अंदर लिखा जाता है.

ex:- String MyName = “yugal”

Class – क्लास user के द्वारा define किया गया prototype है जिससे objects बनाये जाते है. इसमें methods और variables होते है.

दूसरे शब्दों में कहें तो, “एक क्लास objects का एक समूह होता है जिसमें एकसमान properties होती हैं. यह एक blueprint होता है जिसमें से objects को create किया जाता है. यह एक logical entity है. यह physical नहीं हो सकती.”

इसे पूरा पढ़ें:- Class और object क्या होते हैं?

Object:- यह class का instance होता है. और यह real world की entity को प्रस्तुत करता है.

Interface – क्लास की तरह ही interface में भी methods और variable होते है. परन्तु इसमें declare की गयी मेथड abstract होती है.

दूसरे शब्दों में कहें तो, “ जावा में Interface एक reference type होता है और इसके पास abstract methods और static constants होते हैं. जावा में इसका प्रयोग abstraction और inheritance को प्राप्त करने के लिए किया जाता है.”

इसे पूरा पढ़ें:- interface क्या है?

array:- array एक समान data type एक collection होता है.

java primitive data type in hindi


Type Casting In Java In Hindi

Type Casting एक mechanism / process है जिसमे किसी एक data type की दी गयी value को दुसरे data type में convert करते हैं। इसे Type Conversion भी कहते हैं।


हम जानते हैं कि Java में कोई भी variable define करते समय उसका data type भी define करना पड़ता है, जिससे compiler को पता चल सके कि variable में store होने वाली value का क्या है, लेकिन फिर भी हमें कई जगह value को दूसरे data type में convert करने की जरूरत पड़ ही जाती है।

इस topic में हम देखेंगे कि किसी variable का data type कैसे change करें।


java में 2 type की casting define की गयी है -

  1. Implicit Type Casting (automatically) - जब smaller type से large data type में convert करते हैं तो उसे Implicit Type Casting या Widening Casting कहते हैं , यह automatically होती है।
    byte -> short -> char -> int -> long -> float -> double

  2. Explicit Type Casting (manually) - जब large type से small data type में convert करते हैं तो उसे Explicit Type Casting या Narrowing Casting कहते हैं, इसे manually हमें करना पड़ता है। हालाँकि इस process में value की information lost भी हो सकती है , क्योंकि large data type की range ज्यादा होती है और small data type की range कम होती है।
    double -> float -> long -> int -> char -> short -> byte

Java Implicit Type Casting

Implicit Type Casting में variable declare करते समय ही वो data type के value store करते हैं जिसमे हमें convert करना है। यह process automatically होती है। इसे Widening Type Casting भी कहते हैं।

File : ImplicitCasting.java

CopyFullscreen

class ImplicitCasting

{

  public static void main(String[] args) 

  {

    int num = 20;

    // now convert it into double.

    double num_convert = num; // it will automatically cast int to double.


    System.out.println(num);

    System.out.println(num_convert);

  }

}

Output

javac ImplicitCasting.java

java ImplicitCasting

20

20.0

Java Explicit Type Casting

Explicit Type Casting हमें manually करनी पड़ती है , इसमें हमें convert करने वाले data type का नाम value से पहले लिखना पड़ता है , जैसा कि नीचे आप example में देख सकते हैं। इसे Narrowing Type Casting भी कहते हैं।

File : ExplicitCasting.java

CopyFullscreen

class ExplicitCasting

{

  public static void main(String[] args) 

  {

    double num = 20.2342342f;

    // now convert it into int.

    int num_convert = (int) num;


    System.out.println(num);

    System.out.println(num_convert);

  }

}

Output

javac ExplicitCasting.java

java ExplicitCasting

20.234233856201172

20


रैपर क्लास (Wrapper class in Hindi)

जैसा की आप जानते हैं, जावा एक ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग लैंग्वेज हैं। इसका मतलब जावा में सभी प्रोग्राम क्लास और उस क्लास के ऑब्जेक्ट्स पर आधारित होते हैं। जावा प्रोग्रामिंग में प्रिमिटिव डाटा टाइप को इस्तेमाल करने हेतु उनका ऑब्जेक्ट तयार करना जरुरी होता हैं, लेकिन ऑब्जेक्ट क्रिएट करने के लिए क्लास का होना भी जरुरी हैं।

इसी समस्या को दूर करने के लिए जावा में रैपर क्लास की सुविधा उपलब्ध करायी गयी हैं। रॅपर क्लास इन प्रिमिटिव डेटा टाइप्स जैसे- इन्टिजर, करैक्टर, फ्लोट, बाइट, डबल इत्यादि को क्लास में एनकैप्सूलेट करता हैं, जिस क्लास का ऑब्जेक्ट तयार किया जा सकें।

दुसरे शब्दों में रॅपर क्लास प्रिमिटिव डेटा टाइप्स को एक क्लास में रॅप करता हैं, जिससे उन प्रिमिटिव डेटा टाइप्स का इस्तेमाल आसानी से किया जा सकें।

रैपर क्लास की जरुरत (Need of wrapper classes in Hindi)

  1. रैपर क्लास प्रिमिटिव डाटा टाइप्स को ऑब्जेक्ट्स में कन्वर्ट करता हैं।

  2. Java.util इस इन बिल्ड पैकेज में लिखे गए क्लासेज सिर्फ और सिर्फ क्लास ऑब्जेक्ट को ही हैंडल कर सकते हैं, इसी लिए रैपर क्लास का इस्तेमाल किया जाता हैं।

  3. अगर प्रिमिटिव डेटा टाइप्स को रैपर क्लास में रॅप नहीं किया जाएगा तो, उन डेटा टाइप्स और उन्हें पास किए गए वैल्यूज का इस्तेमाल करना मुश्किल हो जाएगा।

  4. जावा प्रोग्रामिंग में इस्तेमाल किए जानेवाले डेटा स्ट्रक्चर्स जैसे की ऐरे लिस्ट, वेक्टर में सिर्फ क्लास ऑब्जेक्ट्स को स्टोर किया जा सकता हैं, न की प्रिमिटिव डाटा टाइप्स को, इसीलिए रॅपर क्लास का इस्तेमाल किया जाता हैं।

  5. मल्टी थ्रेडिंग सिंक्रोनाइजेशन सिर्फ क्लास ऑब्जेक्ट को सपोर्ट करता हैं, इसलिए क्लास का होना जरुरी बन जाता हैं।

आसान शब्दों में, जावा प्रोग्राम में किसी भी प्रकार के ऑपरेशन का परफॉर्म करने के लिए क्लास की जरुरत होती हैं। क्योंकि प्रिमिटिव डेटा टाइप्स को प्रोग्राम में इस्तेमाल करने के लिए भी एक क्लास की जरुरत हैं, इसी लिए रैपर क्लास का इस्तेमाल किया जाता हैं। रैपर क्लास की मदत से प्रिमिटिव डेटा टाइप्स का भी ऑब्जेक्ट तयार किया जा सकता हैं।

प्रिमिटिव डेटा टाइप्स और रैपर क्लास (Primitive data types and corresponding wrapper classes)

प्रिमिटिव डेटा टाइप्स

रैपर क्लास

byte

Byte

short

Short

int

Integer

long

Long

float

Float

double

Double

char

Character

boolean

Boolean

ऑटोबॉक्सिंग और अनबॉक्सिंग (Autoboxing and Unboxing in Hindi)

ऑटोबॉक्सिंग (Autoboxing in Hindi)

प्रिमिटिव डेटा टाइप्स का उनके निर्धारित रैपर क्लास में किए गए आटोमेटिक कन्वर्शन को ऑटोबॉक्सिंग कहा जाता हैं। जैसे की int इस प्रिमिटिव डेटा टाइप का कन्वर्शन (रूपांतरण) Integer इस रॅपर क्लास में किया जाना।

उदाहरण-

class Boxing

{

public static void main(String args[])

{

int a=50;

Integer a2=new Integer(a);

System.out.println(a2);

}

}

आउटपुट-

50

स्पष्टीकरण-

ऑटोबॉक्सिंग को समझने के लिए हमने ऊपर एक आसान प्रोग्राम लिखा हैं। हमने एक क्लास डिक्लेअर किया हैं, Boxing। क्लास Boxing के मेन फंक्शन में हमने, एक इन्टिजर a डिक्लेअर किया हैं, जिसे ‘50’ यह वैल्यू असाइन की हैं।

अब इन्टिजर इस प्रिमिटिव डेटा टाइप के जुड़े रॅपर क्लास जिसका नाम इन्टिजर हैं, का ऑब्जेक्ट क्रिएट किया गया हैं, और उसके कंस्ट्रक्टर को इन्टिजर वेरिएबल a पैरामीटर के तौर पर पास किया हैं। इन्टिजर क्लास के ऑब्जेक्ट a2 को इनिशियलाइज़ करने हेतु इन्टिजर वेरिएबल a को पास किया हैं।

अब, जब प्रिंटिंग फंक्शन में a2 को कॉल किया जाएगा तब, वह ऑब्जेक्ट इन्टिजर वेरिएबल की वैल्यू रीटर्न करेगा, जोकि उसे पैरामीटर के रूप में पास किए गयी हैं।

अनबॉक्सिंग (Unboxing in Hindi)

रॅपर क्लास के ऑब्जेक्ट को प्रिमिटिव डेटा टाइप में कन्वर्ट किए जाने को अनबॉक्सिंग कहा जाता हैं। अनबॉक्सिंग , ऑटोबॉक्सिंग बिलकुल विपरीत हैं। जो कार्य ऑटोबॉक्सिंग में किया जाता हैं, उसके विपरीत काम अनबॉक्सिंग में किया जाता हैं।

उदाहरण-

class Unboxing

{

public static void main(String args[])

{

Integer i=new Integer(50);

int a=i;

 

System।out।println(a);

}

}

आउटपुट-

50

स्पष्टीकरण-

जैसा की आप अब जान चुकें हैं, की अन बॉक्सिंग, ऑटोबॉक्सिंग के बिलकुल उल्टा हैं। ऊपर दिए गए उदाहरण में एक क्लास लिया हैं, Unboxing। इस क्लास के मेन फंक्शन में हमने इन्टिजर क्लास का एक ऑब्जेक्ट तयार किया हैं ‘i’ और कंस्ट्रक्टर को वैल्यू पास की हैं 50, जोकि ऑब्जेक्ट में स्टोर की गयी हैं।

अब हमने इस इन्टिजर क्लास के ऑब्जेक्ट को इन्टिजर जोकि एक प्रिमिटिव डेटा टाइप हैं, उसके वेरिएबल में कन्वर्ट करना हैं। इसलिए हमने एक इन्टिजर वेरिएबल लिया हैं a और उसे असाइनमेंट ऑपरेटर(=) की मदत से, ऑब्जेक्ट i को असाइन किया हैं। अब इन्टिजर वेरिएबल a में ऑब्जेक्ट i की वैल्यू स्टोर की जा चुकी हैं।

प्रोग्राम के अंत में अनबॉक्सिंग हुयी हैं, की नहीं यह जांचने के लिए जब प्रिंट फंक्शन को कॉल किया हैं और उसे a यह वेरिएबल पास किया हैं। अब जावा कम्पाइलर a की वैल्यू 50 यह प्रिंट करेगा।

जावा में क्लास और ऑब्जेक्ट हिंदी में

28 फ़रवरी 2022 राजेंद्रप्रसाद द्वारा

अंतिम बार 28 फरवरी, 2022 को राजेंद्रप्रसाद द्वारा अपडेट किया गया

जावा में क्लास और ऑब्जेक्ट हिंदी में  - हेलो दोस्तों  rajhindime.in  में आपका स्वागत है |

दोस्तों, पिछली पोस्ट  मेथड इन जावा इन हिंदी में आपने जाना कि, मेथड्स का उपयोग किसी विशिष्ट (विशिष्ट) काम को पूरा करने के लिए किया जाता है |

विधि की कार्यक्षमता का उपयोग करने के लिए उसे कॉल करना आवश्यक है | इसके अलावा मेथड डिक्लेरेशन, कॉलिंग मेथड, मेथड के प्रकार आदि के बारे में विस्तार से जाना गया |

आज के इस पोस्ट  क्लास एंड ऑब्जेक्ट्स इन जावा इन हिंदी  में आप जानेंगे कि,  क्लास एंड ऑब्जेक्ट्स क्या है, क्लास और ऑब्जेक्ट कैसे बनाते हैं, क्लास के सदस्यों को ऑब्जेक्ट की सहायता से कॉल कैसे करते हैं |

विषयसूची

कक्षा और वस्तु

मन में, कोई एक बिल्डर है जिसने एक सोसायटी का निर्माण किया है, उदाहरण 100 घर (मकान) हैं |

अब बिल्डर ने सबसे पहले अपना ढाचा (ब्लूप्रिंट/टेम्प्लेट) बनाया, जैसे घर में हॉल कहां हो, किचन कहां हो, बेडरूम कहां हो आदि के अनुसार और बाद में उसी ब्लूप्रिंट के साथ वह 100 घरों से बनी सोसायटी का निर्माण करेगा।

ठीक उसी तरह जावा में क्लास, ऑब्जेक्ट के लिए ब्लूप्रिंट या टेम्पलेट का काम होता है |

ऊपर के उदाहरण में बिल्डर ने जो ब्लूप्रिंट बनाया, वह क्लास है और उसके बाद में उसने एक ही ब्लूप्रिंट के आधार पर 100 अलग-अलग घर बनाए जो कि ऑब्जेक्ट हैं |

कक्षा

क्लास यह एक उपयोगकर्ता परिभाषित ब्लूप्रिंट होता है जिसका उपयोग करके ऑब्जेक्ट बनाए जाते हैं |

यह एक उपयोगकर्ता परिभाषित डेटा प्रकार है, जिसमें  डेटा सदस्य  और  सदस्य फ़ंक्शन  होते हैं |

क्लास के अरेंजमेंट में जो  वेरिएबल  होते हैं उन्हें डेटा सदस्य कहते हैं और मेंबर फंक्शन वे फंक्शन या तरीके होते हैं, अलग-अलग प्रयोग करके इन वेरिएबल्स में हेरफेर करते हैं |

इस प्रकार डेटा सदस्यों और सदस्य फ़ंक्शन, क्लास से बनने वाले ऑब्जेक्ट के गुणों और व्यवहार को परिभाषित (परिभाषित) करते हैं | जो प्रोग्रामर द्वारा कोड में लिखा जाता है |

जावा में क्लास कैसे बनाएं/क्लास कैसे बनाएं?

जावा में क्लास बनाने के लिए "क्लास" कीवर्ड का उपयोग किया जाता है, उसके बाद वाले क्लास का नाम और उसके बाद वाले क्लास के बॉडी को  { } से परिभाषित किया जाता है| जिसमें इंटरप्रिट के अनुसार विभिन्न वेरिएबल्स, कंस्ट्रक्टर और तरीकों को परिभाषित किया जाता है

वाक्य - विन्यास

1

2

3

4

5

6

class ClassName {

 

    // variable

    // constructor and

    // method declarations

}

कार्यक्रम 1

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

class Car {

    // variables

    String model;

    String color;

    String version;

    String variant;

    int seat;

    int maxSpeed;

 

    // constructor

    Car(String carModel, String carColor, String carVersion, String carVariant, int carSeat, int carMaxSpeed) {

        model = carModel;

        color = carColor;

        version = carVersion;

        variant = carVariant;

        seat = carSeat;

        carSeat = carMaxSpeed;

    }

 

    // methods

    void startEngine() {

        System.out.println("Engine started");

    }

 

    void stopEngine() {

        System.out.println("Engine stopped");

    }

 

    void openWindow() {

        System.out.println("Window opened");

    }

 

    void closeWindow() {

        System.out.println("Window closed");

    }

 

    int increaseSpeed(int increment) {

        maxSpeed = maxSpeed + increment;

        return maxSpeed;

    }

}

व्याख्या

ऊपर के प्रोग्राम में कार एक वर्ग है जिसमें मॉडल, रंग, संस्करण, वैरिएंट, सीट, मैक्सस्पीड यह सभी वेरिएबल और स्टार्टइंजन(), स्टॉपइंजन(), ओपनविंडो(), क्लोजविंडो(), इनक्रीसस्पीड() यह सभी तरीके हैं |

चतुर्थ चर तथा विधि, वर्ग का ही भाग है, इसलिए वर्ग के सदस्य भी कहते हैं |

जैसा कि आप जानते हैं, क्लास एक अमूर्त परिभाषा है जो रन टाइम के दौरान टैब अस्तित्व में आती है, जब उसके व्यवहार पर आधारित किसी ऑब्जेक्ट का निर्माण होता है | आओ जाने ये वस्तु क्या होती है |

वस्तु

ऑब्जेक्ट यह क्लास का उदाहरण होता है जिसमें क्लास के फ़ील्ड (चर) और व्यवहार (विधि) मौजूद होते हैं |

उदाहरण के लिए, अगर कार एक क्लास है तो, मारुति बलेनो, मारुति स्विफ्ट, महिंद्रा एक्सयूवी700, टाटा पंच आदि इस क्लास के ऑब्जेक्ट पर विचार किया जा सकता है |

ऑब्जेक्ट कैसे बनाएं/ऑब्जेक्ट कैसे बनाएं?

ऑब्जेक्ट क्रिएट करने के लिए “new” कीवर्ड का उपयोग किया जाता है, साथ ही कंस्ट्रक्टर का भी उपयोग किया जाता है |

कंस्ट्रक्टर मेथड के जैसे ही होता है जिसका नाम क्लास के नाम के समान होता है | कंस्ट्रक्टर के बारे में विस्तार से जानने के लिए कंस्ट्रक्टर इन जावा हिंदी में पढ़ें |

वाक्य - विन्यास

क्लासनाम रेफरेंसवेरिएबल = नया नेमऑफकंस्ट्रक्टर();

उदाहरण

1

2

3

4

Car marutiBaleno = new Car();

Car marutiSwift= new Car();

Car mahindraXUV = new Car();

Car tataPunch= new Car();

कार्यक्रम 2

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

class Car {

    // variables

    String model;

    String color;

 

    // methods

    void startEngine() {

        System.out.println("Engine started");

    }

 

    void stopEngine() {

        System.out.println("Engine stopped");

    }

 

    void openWindow() {

        System.out.println("Window opened");

    }

 

    void closeWindow() {

        System.out.println("Window closed");

    }

}

 

public class ClassAndObject {

 

    public static void main(String[] args) {

         

        //creating object of Car class

        Car marutiBaleno = new Car();

        Car marutiSwift= new Car();

        Car mahindraXUV = new Car();

        Car tataPunch= new Car();

    }

}

व्याख्या

ऊपर के प्रोग्राम में नए कीवर्ड का इस्तेमाल करके कार क्लास के 4 अलग-अलग ऑब्जेक्ट, मारुति बलेनो, मारुति स्विफ्ट, महिंद्रा एक्सयूवी और टाटा पंच बनाए गए हैं।

एक क्लास से हम कितना भी ऑब्जेक्ट क्रिएट कर सकते हैं |

इंस्टेंस वेरिएबल्स और तरीकों तक पहुँचना:

इंस्टेंस वेरिएबल और विधि को referenceVariable के साथ एक्सेस करने के लिए। (dot) का उपयोग करते हैं |

वाक्य - विन्यास

संदर्भ चर परिवर्तनशीलनामयाविधिनाम;

उदाहरण

1

2

marutiBaleno.color;

marutiBaleno.startEngine();

कार्यक्रम 3

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

class Car {

    // variables

    String model;

    String color;

 

    // constructor

    Car(String carModel, String carColor) {

        model = carModel;

        color = carColor;

    }

 

    // methods

    void startEngine() {

        System.out.println("Engine started");

    }

 

    void stopEngine() {

        System.out.println("Engine stopped");

    }

 

    void openWindow() {

        System.out.println("Window opened");

    }

 

    void closeWindow() {

        System.out.println("Window closed");

    }

}

 

public class ClassAndObject {

 

    public static void main(String[] args) {

 

        // creating object of Car class

        Car marutiBaleno = new Car("MarutiBaleno", "red");

        // accessing variable

        System.out.println("Color is " + marutiBaleno.color);

        // accessing method

        marutiBaleno.startEngine();

    }

}

उत्पादन

1

2

Color is red

Engine started

निष्कर्ष – आज आपने क्या सिखाया

इस पोस्ट में आपने जाना कि,  क्लास और ऑब्जेक्ट क्या है, क्लास और ऑब्जेक्ट कैसे बनाते हैं, क्लास के सदस्यों को ऑब्जेक्ट की सहायता से कैसे कॉल करते हैं |

जावा में अपकास्टिंग और डाउनकास्टिंग क्या है?

अपकास्टिंग (या चौड़ीकरण) एक उपवर्ग से सुपरक्लास ( चाइल्ड टू पेरेंट क्लास ) में टाइपकास्टिंग है। इस तरह, हम सुपरक्लास, यानी पैरेंट के गुणों (विधियों और चर) तक भी पहुंच सकते हैं। डाउनकास्टिंग (या संकुचन) एक सुपरक्लास से एक उपवर्ग में टाइपकास्टिंग है ताकि हम उपवर्ग, यानी, चाइल्ड क्लास के तरीकों तक पहुंच सकें।

जावा में अपकास्टिंग और डाउनकास्टिंग टाइपकास्टिंग के दो रूप हैं जहां डेटा प्रकार का रूपांतरण होता है। टाइपकास्टिंग जावा में महत्वपूर्ण अवधारणाओं में से एक है जहां डेटा प्रकारों के रूपांतरण का उपयोग विभिन्न उद्देश्यों के लिए किया जा सकता है। यहां, हम यह देखने जा रहे हैं कि किसी ऑब्जेक्ट का रूपांतरण कैसे होता है (क्योंकि हमने आमतौर पर केवल डेटाटाइप के मामले में टाइपकास्टिंग देखी है)।

मूल रूप से, हम एक ऑब्जेक्ट को डेटा प्रकार में टाइपकास्ट करेंगे और इसके लिए एक पैरेंट और चाइल्ड ऑब्जेक्ट होगा। टाइपकास्टिंग का उद्देश्य प्रोग्राम में किसी फ़ंक्शन को वेरिएबल्स को सही ढंग से संसाधित करने में सक्षम बनाना है।

आइए जावा में अपकास्टिंग और डाउनकास्टिंग से संबंधित अर्थ और अंतर को समझें।

जावा में अपकास्टिंग

अपकास्टिंग, सरल शब्दों में, एक चाइल्ड ऑब्जेक्ट को मूल ऑब्जेक्ट में टाइपकास्ट करना है।

इस छवि में ध्यान दें कि संदर्भ चर Parent प्रकार का है जबकि ऑब्जेक्ट Child प्रकार का बनाया गया है । इसे अपकास्टिंग के रूप में जाना जाता है । कारण यह है कि यहां बनाई गई चाइल्ड ऑब्जेक्ट अपने पैरेंट के गुण दिखा सकती है, इसलिए इसके पैरेंट का संदर्भ डालना सही है।

आइए खेल का एक उदाहरण लें। किसी न किसी खेल में रुचि होना एक व्यक्तिगत पसंद है, चाहे वह क्रिकेट, फुटबॉल, हॉकी आदि हो। इसलिए, यह कहना सही है कि क्रिकेट एक खेल है या फुटबॉल एक खेल है (आईएस-ए संबंध)।

खेल, आम तौर पर, एक मूल वस्तु है और इसके विभिन्न रूप इसकी संतान वस्तु हैं और उनका आईएस-ए संबंध है।

अब, आइए देखें कि अपकास्टिंग के संदर्भ में हम इसे कैसे समझेंगे। खेल मूल वस्तु है जबकि क्रिकेट और फुटबॉल बाल वस्तु हैं। इनमें से प्रत्येक चाइल्ड ऑब्जेक्ट को अपने माता-पिता, यानी स्पोर्ट से गुण विरासत में मिलते हैं। और एक चाइल्ड ऑब्जेक्ट निश्चित रूप से अपने पैरेंट के गुणों को प्रदर्शित कर सकता है, यही कारण है कि एक चाइल्ड ऑब्जेक्ट को मूल ऑब्जेक्ट के रूप में अंतर्निहित रूप से टाइपकास्ट किया जा सकता है।

नीचे दिए गए कोड को देखें जो दिखाता है कि यह अंतर्निहित टाइपकास्टिंग कैसे संभव है।

/* Java program to demonstrate upcasting */

import java.io.*;

import java.util.*;


//Creating a parent class Sport

class Sport{

    //Method to display name

    void displayName(){

        System.out.println("Sport");

    }

}


//Creating a child class Cricket

class Cricket extends Sport{

    //Method to display name

    void displayName(){

        System.out.println("Cricket");

    }

}

    

//Creating a child class Football

class Football extends Sport{

    //Method to display name

    void displayName(){

        System.out.println("Football");

    }

}


public class Main {

public static void main (String[] args) {

    //Upcasting

    Sport sport1 = new Cricket();

    //calling method

    sport1.displayName();

    

    //Upcasting

    Sport sport2 = new Football();

    //calling method

    sport2.displayName();

}

}


आउटपुट:

Cricket

Football


अपकास्टिंग का सिंटैक्स

Parent obj = new Child();


जावा में डाउनकास्टिंग

डाउनकास्टिंग से तात्पर्य मूल ऑब्जेक्ट को चाइल्ड ऑब्जेक्ट में टाइपकास्ट करना है। हालाँकि, यह एक अंतर्निहित टाइपकास्टिंग नहीं हो सकता ।

क्यों?

क्योंकि यह कहना सही है कि क्रिकेट एक खेल है या फुटबॉल एक खेल है। लेकिन, हम यह नहीं कह सकते कि, विशेष रूप से, खेल एक क्रिकेट है या खेल एक फुटबॉल है। इसमें एक बच्चा नहीं बल्कि कई बच्चे हैं।

जब आप पेरेंट प्रकार का ऑब्जेक्ट बनाने का प्रयास करते हैं और इसे चाइल्ड प्रकार का संदर्भ चर निर्दिष्ट करते हैं, तो आपको एक रनटाइम त्रुटि मिलेगी। लेकिन रुकिए, यदि जावा में डाउनकास्टिंग की अनुमति नहीं है, तो हमें केवल संकलन-समय के दौरान एक त्रुटि प्राप्त होनी चाहिए। इसका मतलब है कि डाउनकास्टिंग संभव है लेकिन इसकी एक निश्चित सीमा है। आइए इस सीमा पर विस्तार से चर्चा करें।

डाउनकास्टिंग करते समय, यह पहले से सत्यापित करना महत्वपूर्ण है कि बनाई गई वस्तु संदर्भ चर के बावजूद चाइल्ड प्रकार की है। यह कंपाइलर को ऑब्जेक्ट का रनटाइम प्रकार बताता है।

एक उदाहरण से यह बात और स्पष्ट हो जायेगी.

Sport sport= new Cricket();

Cricket castedToCricket= (Cricket) sport;


हमने खेल प्रकार के संदर्भ में क्रिकेट प्रकार का एक ऑब्जेक्ट बनाया। स्पष्ट कास्टिंग कंपाइलर को ऑब्जेक्ट के रनटाइम प्रकार के बारे में सूचित करती है। चूँकि प्रारंभ में ऑब्जेक्ट निर्माण का प्रकार क्रिकेट था, इस मामले में डाउनकास्टिंग संभव है।

चलिए एक और परिदृश्य लेते हैं जहां डाउनकास्टिंग संभव नहीं है।

Sport sport= new Sport();

Cricket notCastedToCricket= (Cricket) sport;


यह ClassCastException को फेंकता है क्योंकि खेल का रनटाइम ऑब्जेक्ट स्पोर्ट है। उपरोक्त मामले की तरह, यह क्रिकेट होना चाहिए था। इसलिए, इस सुपरक्लास से सबक्लास कास्टिंग संभव नहीं है।

/* Java program to demonstrate the incorrect way of downcasting */

import java.io.*;

import java.util.*;


//Creating a parent class Sport

class Sport{

    //Method to display name

    void displayName(){

        System.out.println("Sport");

    }

}

  

//Creating a child class Cricket  

class Cricket extends Sport{

    void displayName(){

        //Method to display name

        System.out.println("Cricket");

    }

}

    

//Creating a child class Football

class Football extends Sport{

    void displayName(){

        //Method to display name

        System.out.println("Football");

    }

}


public class Main {

public static void main (String[] args) {

    //Simply downcasting

    //we'll run into ClassCastException

    Cricket cricket = (Cricket) new Sport();

    cricket.displayName();

    

    Football football = (Football) new Sport();

    football.displayName();

}

}


आउटपुट:

Exception in thread "main" 

java.lang.ClassCastException: class Sport cannot be cast to class Cricket (Sport and Cricket are in unnamed module of loader 'app')

at Main.main(Main.java:31)


यदि आप किसी उपवर्ग की विधियों तक पहुँचना चाहते हैं, तो डाउनकास्टिंग की आवश्यकता होगी। इसके विपरीत, ClassCastException मिलने की भी संभावना है । इसलिए, पहले चाइल्ड क्लास ऑब्जेक्ट के लिए पेरेंट क्लास संदर्भ प्रदान करना बेहतर है। फिर उपवर्ग प्रकार के लिए सुपरक्लास संदर्भ की स्पष्ट कास्टिंग करें। भ्रमित करने वाला लगता है? आइए इस उदाहरण कोड को देखें।

/* Java program to demonstrate downcasting */

import java.io.*;

import java.util.*;


//Creating a parent class Sport

class Sport{

    //Method to display name

    void displayName(){

        System.out.println("Sport");

    }

}

  

//Creating a child class Cricket  

class Cricket extends Sport{

    void displayName(){

        //Method to display name

        System.out.println("Cricket");

    }

}

    

//Creating a child class Football

class Football extends Sport{

    void displayName(){

        //Method to display name

        System.out.println("Football");

    }

}


public class Main {

public static void main (String[] args) {

    //Parent class reference refers to Child class object

    Sport sport1 = new Cricket();

    //Explicitly casting superclass reference to subclass type

    Cricket cricket = (Cricket) sport1;

    cricket.displayName();

    

    //Parent class reference refers to Child class object

    Sport sport2 = new Football();

    //Explicitly casting superclass reference to subclass type

    Football football = (Football) sport2;

    football.displayName();

}

}


आउटपुट:

Cricket

Football


डाउनकास्टिंग का सिंटेक्स

Parent p1 = new Child(); 

Child c1 = (Child)p1;

Java Naming Convention in Hindi – 2023


हेलो दोस्तों आज के इस आर्टिक्ल में हम Java Naming Convention in Hindi के बहुत महत्वपूर्ण टॉपिक Java Naming Convention in Hindi क्या हैं? ( what is Java Naming Convention in Hindi ) के बारे में पढ़ने जा रहे हैं। और इसके अंदर के कई टॉपिक पढ़ेंगे जैसे Java Naming Convention in Hindi क्या हैं? इसके advantage और disadvantage आदि।

Java Naming Convention in Hindi

Java naming convention एक नियम है जिसका पालन करना होता है क्योंकि आप तय करते हैं कि class, package, variable, constant, method इत्यादि जैसे identifiers को क्या नाम देना है।

लेकिन, इसका पालन करने के लिए मजबूर नहीं किया जाता है। इसलिए, इसे नियम नहीं conventions के रूप में जाना जाता है। Sun Microsystems और Netscape जैसे कई जावा communities द्वारा इन conventions का सुझाव दिया गया है।

Java programming language के सभी classes, interfaces, packages, methods and fields Java naming convention के अनुसार दिए गए हैं। यदि आप इन conventions का पालन करने में विफल रहते हैं, तो यह confusion या erroneous कोड कर सकता है।

Advantage of Naming Conventions in Java in Hindi

standard जावा naming conventions का उपयोग करके, आप अपने कोड को अपने और अन्य programmers के लिए पढ़ने में आसान बनाते हैं। जावा program की Readability बहुत महत्वपूर्ण है। यह indicates करता है कि कोड क्या करता है यह पता लगाने के लिए कम समय व्यतीत होता है।

  • what is jit compiler explain in hindi ? | jit compiler in java

  • What is Java (introduction java in hindi) | Java tutorial in hindi.

Naming Conventions of the Different Identifiers in Hindi

following table different identifiers के लिए उपयोग किए जाने वाले popular conventions को दिखाती है।

Identifiers Type

Naming Rules

Examples

Class

यह uppercase letter से शुरू होना चाहिए।

यह एक noun होनी चाहिए जैसे Color, Button, System, Thread, इत्यादि।

appropriate शब्दों के स्थान पर acronyms शब्दों का प्रयोग करें।

public class Employee

{

//code snippet

}

Interface

यह uppercase letter से शुरू होना चाहिए।

यह Runnable, Remote, ActionListener जैसे adjective होना चाहिए।

Use appropriate words, instead of acronyms.

interface Printable

{

//code snippet

}

Method

इसे lowercase letter से शुरू करना चाहिए।

यह main(), print(), println() जैसी verb होनी चाहिए।

यदि नाम में कई शब्द हैं, तो इसे lowercase letter से शुरू करें और उसके बाद uppercase letter जैसे कि ActionPerformed ()।

class Employee

{

// method

void draw()

{

//code snippet

}

}

Variable

इसे lowercase letter जैसे id, name से शुरू करना चाहिए।

यह & (ampersand), $ (dollar), _ (underscore) जैसे special characters से शुरू नहीं होना चाहिए।

यदि नाम में कई शब्द हैं, तो इसे lowercase letter से शुरू करें और उसके बाद uppercase letter जैसे firstName, lastName।

x, y, z. जैसे one-character variables का उपयोग करने से बचें।

class Employee

{

// variable

int id;

//code snippet

}

Package

यह java, lang जैसे lowercase letter होना चाहिए।

यदि नाम में कई शब्द हैं, तो इसे dots (.) जैसे java.util, java.lang से अलग किया जाना चाहिए।

//package

package com.javatpoint;

class Employee

{

//code snippet

}

Constant

यह RED, YELLOW जैसे uppercase letters में होना चाहिए।

यदि नाम में एक से अधिक शब्द हैं, तो उसे MAX_PRIORITY जैसे किसी अंडरस्कोर(_) से अलग किया जाना चाहिए।

इसमें अंक हो सकते हैं लेकिन पहले अक्षर के रूप में नहीं।

class Employee

{

//constant

static final int MIN_AGE = 18;

//code snippet

}

CamelCase in Java naming conventions in Hindi

जावा class, interface, method और variable के naming के लिए camel-case syntax का follows करता है।

यदि नाम को दो words के साथ जोड़ा जाता है, तो दूसरा शब्द हमेशा uppercase letter से शुरू होगा जैसे कि actionPerformed(), firstName, ActionEvent, ActionListener, आदि। read more

  • JavaScript क्या है? | what is javaScript in hindi? | advantage javaScript in hindi 2023

  • difference between java and javascript in Hindi

निष्कर्ष

आशा करता हूँ कि आज के इस आर्टिकल में आपको Java Naming Convention in Hindi से सम्बंधित आपके सारे आंसर मिल गए होंगे।

आज के इस आर्टिकल में हमने जाना कि Java Naming Convention क्या है?(what is Java Naming Convention in Hindi), इस आर्टिकल से संबधित आपका कोई प्रश्न हैं तो आप comment करें में आपकी कमेंट का जबाब जरूर दूंगा।

ऐसे ही IT, Computer Science से रिलेटेड जानकारियाँ पाने के लिए हमारे इस वेबसाइट को सब्सक्राइब कर लीजिये | जिससे आपको हमारी आने वाले नये आर्किल की notification प्राप्त हो सके।

अगर जानकारी अच्छी लगी हो तो अपने दोस्तों और class mate के साथ ये जानकारी जरूर शेयर करें जिससे उनकी भी हेल्प हो सके।



Post a Comment

0 Comments
* Please Don't Spam Here. All the Comments are Reviewed by Admin.