Advertisement
Guest User

Untitled

a guest
Dec 15th, 2018
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.97 KB | None | 0 0
  1. class A{
  2. private int x;
  3. public A(){ x=1;}
  4. public A(int val){x=2*val;}
  5. public int getVal(){
  6. return x;
  7. }
  8. }
  9.  
  10. class B extends A{
  11. public B(){super(1);}
  12. public B(int val){}
  13. }
  14.  
  15. public class Main{
  16.  
  17. public static void main(String []args){
  18. A[] vect = new A[4];
  19. vect[0] = new A(); //intra in constructorul default de la A => x=1
  20. vect[1] = new B(); //intra in constructorul default de la B, iar apoi se apeleaza constructorul cu argument int din superclasa => x=2*1=2
  21. vect[2] = new A(5); //intra in constructorul cu argument int din clasa A => x=2*5=10
  22. vect[3] = new B(6); //intra in constructorul cu parametru int din clasa B, iar apoi in constructorul default din clasa A (deoarece nu se apeleaza explicit altul) => x=1
  23. int s =0;
  24. for(A a:vect) {
  25. System.out.println(a.getVal());
  26. s = s + a.getVal();
  27. }
  28. System.out.println(s);
  29. }
  30.  
  31. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement