File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Access Modifiers

 
Samira Mastali
Ranch Hand
Posts: 74
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi Folks,
Can anybody explain me why the following line in the code is Illegal?
class Complex {
private double real, imaginary;
public Complex (double r, double i) { real = r; imaginary = i;}
public Complex add (Complex c) {
return new Complex (real + c.real, imaginary + c.imaginary);
}
}
class Client {
void useThem () {
Complex c1 = new Complex (1,2);
Complex c2 = new Complex (3,4);
Complex c3 = c1.add(c2);
double d = c3.real; // Illegal!
}
}
what I don't understand is that c3 is an instance of class complex and we can have access to a private member of a class through an instance of that.What is difference between c3 and c1 and c2?
Thanks,
Samira
 
rahul kumar
Ranch Hand
Posts: 75
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
class Complex {
private double real, imaginary;
public Complex (double r, double i) { real = r; imaginary = i;}
public Complex add (Complex c) {
return new Complex (real + c.real, imaginary + c.imaginary);
}
}
class Client {
void useThem () {
Complex c1 = new Complex (1,2);
Complex c2 = new Complex (3,4);
Complex c3 = c1.add(c2);
double d = c3.real; // Illegal!
}
}
Although c3 is an instance of complex but private variables can't be acessed outside the class.real is private variable thatwhy it can't be accessed in other class client
 
Don't get me started about those stupid light bulbs.
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic