2013-09-25 11 views
9

बनाते समय मैं एक एकल ऑब्जेक्ट बनाते समय एकाधिक कन्स्ट्रक्टर निष्पादित करना चाहता हूं। उदाहरण के लिए, मैं इस-एकाधिक कन्स्ट्रक्टर को निष्पादित करने के लिए, एकल ऑब्जेक्ट

public class Prg 
{ 
    public Prg() 
    { 
     System.out.println("In default constructor"); 
    } 
    public Prg(int a) 
    { 
     System.out.println("In single parameter constructor"); 
    } 
    public Prg(int b, int c) 
    { 
     System.out.println("In multiple parameter constructor"); 
    } 
} 

की तरह एक वर्ग परिभाषा है और मैं निम्नलिखित कोड से यह हासिल करने की कोशिश कर रहा हूँ -

public class Prg 
{ 
    public Prg() 
    { 
     System.out.println("In default constructor"); 
    } 
    public Prg(int a) 
    { 
     Prg(); 
     System.out.println("In single parameter constructor"); 
    } 
    public Prg(int b, int c) 
    { 
     Prg(b); 
     System.out.println("In multiple parameter constructor"); 
    } 
    public static void main(String s[]) 
    { 
     Prg obj = new Prg(10, 20); 
    } 
} 

लेकिन इस मामले में ऐसा लगता है कि त्रुटियों पैदा कर रहा है -

Prg.java:11: error: cannot find symbol 
      Prg(); 
      ^
    symbol: method Prg() 
    location: class Prg 
Prg.java:16: error: cannot find symbol 
      Prg(b); 
      ^
    symbol: method Prg(int) 
    location: class Prg 
2 errors 

धन्यवाद

+0

इस लेख इस प्रकार भी सहायक हो सकता है है। कॉम/2015/05/28/एक प्राथमिक-constructor.html – yegor256

उत्तर

12

उपयोग this() बजायअपने कंस्ट्रक्टर्स में 0

+1

ओह, धन्यवाद। मैं एक ही कक्षा को इंगित करने के लिए सुपर जैसे कीवर्ड खोज रहा था। लेकिन मैंने यह कोशिश नहीं की। अब यह काम कर रहा है। – CodeCrypt

2

जब बुला अन्य निर्माताओं का उपयोग करें this()Prg() के बजाय

3

आप this बयान का उपयोग करना चाहिए।

उदा। http: //www.yegor256

public Prg(int b, int c) 
{ 
    this(b); 
    System.out.println("In multiple parameter constructor"); 
} 
5

उपयोग this बजाय Prg

public Prg() 
    { 
     System.out.println("In default constructor"); 
    } 
    public Prg(int a) 
    { 
     this(); 
     System.out.println("In single parameter constructor"); 
    } 
    public Prg(int b, int c) 
    { 
     this(b); 
     System.out.println("In multiple parameter constructor"); 
    } 
3

उपयोग this keyword.Full कोड चलाने के रूप में

public class Prg 
{ 
    public Prg() 
    { 
     System.out.println("In default constructor"); 
    } 
    public Prg(int a) 
    { 
     this(); 
     System.out.println("In single parameter constructor"); 
    } 
    public Prg(int b, int c) 
    { 
     //Prg obj = new Prg(10, 20); 

this(b);  System.out.println("In multiple parameter constructor"); 
    } 
    public static void main(String s[]) 
    { 
     Prg obj = new Prg(10, 20); 
    } 
} 
संबंधित मुद्दे