关于java中的继承

来源:互联网 发布:淘宝访问量怎么提高 编辑:程序博客网 时间:2024/06/05 15:18

Java中的继承问题:

1、extends关键字。

class A{

public A(){

System.out.println("这个是A") ;

}

}

class B extends A{

public B(){}

} //B继承了A中的属性和方法  

public class Test{

public static void main(String args[]){

Ball = new B() ;

}

}

输出的结果为:这个是A

B类中显然没有任何属性和方法,通过继承A类中的属性和方法在客户端对B类实例化是,也就对A父类实例化了。

2、super()

在Java中,当对子类发生实例化时,系统会默认对父类实例化,也就是说系统会默认有super() 这个方法。

class A{

public A(){

System.out.println("这个是A") ;

}

}

class B extends A{

punlic B(){

System.out.println("这个是B") ;

}

}//B继承了A中的属性和方法  

public class Test{

public static void main(String args[]){

Ball = new B() ;

}

}

输出: 这个是A

    这个是B

当有super()的情况:

class A{

public A(){

System.out.println("这个是A") ;

}

}

class B extends A{

punlic B(){

super() ; 

System.out.println("这个是B") ;

}

}//B继承了A中的属性和方法  

public class Test{

public static void main(String args[]){

Ball = new B() ;

}

}

由运行可以知道,结果是一样的。以上是父类是无参构造的情况,在父类是有参构造的情况下:

class A{

int num ;

public A(int num){

System.out.println("这个是A" + this.num) ;

}

}

class B extends A{

int num1 ;

punlic B(int num1){

super(num1) ; 

System.out.println("这个是B") ;

}

}//B继承了A中的属性和方法  

public class Test{

public static void main(String args[]){

Ball = new B(2) ;

}

}

输出:这个是A2
    这个是B

原创粉丝点击