Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class A{
- private int x;
- public A(){ x=1;}
- public A(int val){x=2*val;}
- public int getVal(){
- return x;
- }
- }
- class B extends A{
- public B(){super(1);}
- public B(int val){}
- }
- public class Main{
- public static void main(String []args){
- A[] vect = new A[4];
- vect[0] = new A(); //intra in constructorul default de la A => x=1
- 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
- vect[2] = new A(5); //intra in constructorul cu argument int din clasa A => x=2*5=10
- 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
- int s =0;
- for(A a:vect) {
- System.out.println(a.getVal());
- s = s + a.getVal();
- }
- System.out.println(s);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement