class Student {
// Data members
int rollNo;
double marks;
// 1. Default Constructor
Student( ) {
rollNo = 30 ;
name = "Vaishnavi" ;
marks = 85.3 ;
}
// 2. Parameterized Constructor
// Parameter names are different from data member names
Student
( int r,
String n,
double m
) { rollNo = r;
name = n;
marks = m;
}
// 3. Constructor Overloading
rollNo = r;
name = n;
marks = 0.0 ;
}
// 4. Method Overloading - No parameter
void display( ) {
System .
out .
println ( "Roll No : " + rollNo
) ; System .
out .
println ( "Name : " + name
) ; System .
out .
println ( "Marks : " + marks
) ; }
// Method Overloading - One parameter
void display
( String message
) { System .
out .
println ( "Roll No : " + rollNo
) ; System .
out .
println ( "Name : " + name
) ; }
// Method Overloading - Two parameters
void display
( String message,
boolean showMarks
) { System .
out .
println ( "Roll No : " + rollNo
) ; System .
out .
println ( "Name : " + name
) ;
if ( showMarks) {
System .
out .
println ( "Marks : " + marks
) ; }
}
}
public class Main {
public static void main
( String [ ] args
) {
// Object using default constructor
Student s1 = new Student( ) ;
// Object using parameterized constructor
Student s2 = new Student( 31 , "vaidehi" , 83.5 ) ;
// Object using overloaded constructor
Student s3 = new Student( 32 , "ravee" ) ;
System .
out .
println ( "===== DEFAULT CONSTRUCTOR =====" ) ; s1.display ( ) ;
System .
out .
println ( "\n ===== PARAMETERIZED CONSTRUCTOR =====" ) ; s2.display ( ) ;
System .
out .
println ( "\n ===== CONSTRUCTOR OVERLOADING =====" ) ; s3.display ( ) ;
System .
out .
println ( "\n ===== METHOD OVERLOADING =====" ) ;
s2.display ( ) ;
s2.display ( "Student Details:" ) ;
s2.display ( "Complete Student Details:" , true ) ;
}
}
Y2xhc3MgU3R1ZGVudCB7CgogICAgLy8gRGF0YSBtZW1iZXJzCiAgICBpbnQgcm9sbE5vOwogICAgU3RyaW5nIG5hbWU7CiAgICBkb3VibGUgbWFya3M7CgogICAgLy8gMS4gRGVmYXVsdCBDb25zdHJ1Y3RvcgogICAgU3R1ZGVudCgpIHsKICAgICAgICByb2xsTm8gPSAzMDsKICAgICAgICBuYW1lID0gIlZhaXNobmF2aSI7CiAgICAgICAgbWFya3MgPSA4NS4zOwogICAgfQoKICAgIC8vIDIuIFBhcmFtZXRlcml6ZWQgQ29uc3RydWN0b3IKICAgIC8vIFBhcmFtZXRlciBuYW1lcyBhcmUgZGlmZmVyZW50IGZyb20gZGF0YSBtZW1iZXIgbmFtZXMKICAgIFN0dWRlbnQoaW50IHIsIFN0cmluZyBuLCBkb3VibGUgbSkgewogICAgICAgIHJvbGxObyA9IHI7CiAgICAgICAgbmFtZSA9IG47CiAgICAgICAgbWFya3MgPSBtOwogICAgfQoKICAgIC8vIDMuIENvbnN0cnVjdG9yIE92ZXJsb2FkaW5nCiAgICBTdHVkZW50KGludCByLCBTdHJpbmcgbikgewogICAgICAgIHJvbGxObyA9IHI7CiAgICAgICAgbmFtZSA9IG47CiAgICAgICAgbWFya3MgPSAwLjA7CiAgICB9CgogICAgLy8gNC4gTWV0aG9kIE92ZXJsb2FkaW5nIC0gTm8gcGFyYW1ldGVyCiAgICB2b2lkIGRpc3BsYXkoKSB7CiAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJSb2xsIE5vIDogIiArIHJvbGxObyk7CiAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJOYW1lICAgIDogIiArIG5hbWUpOwogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiTWFya3MgICA6ICIgKyBtYXJrcyk7CiAgICB9CgogICAgLy8gTWV0aG9kIE92ZXJsb2FkaW5nIC0gT25lIHBhcmFtZXRlcgogICAgdm9pZCBkaXNwbGF5KFN0cmluZyBtZXNzYWdlKSB7CiAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKG1lc3NhZ2UpOwogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiUm9sbCBObyA6ICIgKyByb2xsTm8pOwogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiTmFtZSAgICA6ICIgKyBuYW1lKTsKICAgIH0KCiAgICAvLyBNZXRob2QgT3ZlcmxvYWRpbmcgLSBUd28gcGFyYW1ldGVycwogICAgdm9pZCBkaXNwbGF5KFN0cmluZyBtZXNzYWdlLCBib29sZWFuIHNob3dNYXJrcykgewogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbihtZXNzYWdlKTsKICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIlJvbGwgTm8gOiAiICsgcm9sbE5vKTsKICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIk5hbWUgICAgOiAiICsgbmFtZSk7CgogICAgICAgIGlmIChzaG93TWFya3MpIHsKICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJNYXJrcyAgIDogIiArIG1hcmtzKTsKICAgICAgICB9CiAgICB9Cn0KCnB1YmxpYyBjbGFzcyBNYWluIHsKCiAgICBwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihTdHJpbmdbXSBhcmdzKSB7CgogICAgICAgIC8vIE9iamVjdCB1c2luZyBkZWZhdWx0IGNvbnN0cnVjdG9yCiAgICAgICAgU3R1ZGVudCBzMSA9IG5ldyBTdHVkZW50KCk7CgogICAgICAgIC8vIE9iamVjdCB1c2luZyBwYXJhbWV0ZXJpemVkIGNvbnN0cnVjdG9yCiAgICAgICAgU3R1ZGVudCBzMiA9IG5ldyBTdHVkZW50KDMxLCAidmFpZGVoaSIsIDgzLjUpOwoKICAgICAgICAvLyBPYmplY3QgdXNpbmcgb3ZlcmxvYWRlZCBjb25zdHJ1Y3RvcgogICAgICAgIFN0dWRlbnQgczMgPSBuZXcgU3R1ZGVudCgzMiwgInJhdmVlIik7CgogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiPT09PT0gREVGQVVMVCBDT05TVFJVQ1RPUiA9PT09PSIpOwogICAgICAgIHMxLmRpc3BsYXkoKTsKCiAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJcbj09PT09IFBBUkFNRVRFUklaRUQgQ09OU1RSVUNUT1IgPT09PT0iKTsKICAgICAgICBzMi5kaXNwbGF5KCk7CgogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiXG49PT09PSBDT05TVFJVQ1RPUiBPVkVSTE9BRElORyA9PT09PSIpOwogICAgICAgIHMzLmRpc3BsYXkoKTsKCiAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJcbj09PT09IE1FVEhPRCBPVkVSTE9BRElORyA9PT09PSIpOwoKICAgICAgICBzMi5kaXNwbGF5KCk7CgogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigpOwoKICAgICAgICBzMi5kaXNwbGF5KCJTdHVkZW50IERldGFpbHM6Iik7CgogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigpOwoKICAgICAgICBzMi5kaXNwbGF5KCJDb21wbGV0ZSBTdHVkZW50IERldGFpbHM6IiwgdHJ1ZSk7CiAgICB9Cn0=