继承 super的用法

1.引用类型数组:

        1.与基本类型数组的区别:

                1.给数组元素赋值必须new一下

                2.若想访问对象数据必须通过数组元素打点

Student[] stus = new Student[3]; //创建Student数组对象
stus[0] = new Student("zhangsan",25,"LF"); //创建Student对象
stus[1] = new Student("lisi",26,"JMS");
stus[2] = new Student("wangwu",24,"SD");
System.out.println(stus[0].name); //输出第1个学生的名字
stus[1].age = 28; //修改第2个学生的年龄为28
stus[2].sayHi(); //第3个学生跟大家问好
for(int i=0;i<stus.length;i++){ //遍历所有学生
  System.out.println(stus[i].name); //输出每个学生的名字
  stus[i].sayHi(); //每个学生跟大家问好
}

 2.继承:

-作用:代码复用

-通过extends来实现继承

-超类/父类:共有的属性和行为

派生类/子类:特有的属性和行为

-派生类既能访问自己的,也能访问超类,但是超类不能访问派生类的

-一个超类可以有多个派生类,一个派生类只能有一个超类-------单一继承

-具有传递性

-java规定:构造派生类之前必须先构造超类

-在派生类的构造方法中若没有调用超类的构造方法,则默认super()调用超类的无参构造方法

-在派生类的构造方法中若自己调用了超类的构造方法,则不再默认提供

>super()调用超类构造方法,必须位于派生类构造方法的第1行

        3.super:指代当前对象的超类对象

           super的用法:

                1.super.成员变量名----------------访问超类的成员变量

                2.super.方法名()----------------------调用超类的方法

                3.super()--------------------------------调用超类的构造方法

 //super的演示
 public class SuperDemo {
     public static void main(String[] args) {
         Boo o = new Boo();
     }
 }
 class Coo{
     Coo(int a){
     }
 }
 class Doo extends Coo{
     Doo(){
         super(5); //调用超类的有参构造
     }
     /*
     //如下代码为默认的:
     Doo(){
         super();
     }
      */
 }
 
 class Aoo{
     Aoo(){
         System.out.println("超类构造");
     }
 }
 class Boo extends Aoo{
     Boo(){
         //super(); //默认的,调用超类的无参构造
         System.out.println("派生类构造");
     }
 }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值