java面向对象 继承_java面向对象之继承

面向对象的三大特征:封装,多态,继承

继承

继承的格式:

class 子类名 extends 父类名{

}

继承注意的事项:

1. 不能为了继承而继承,只有真正存在这继承关心的时候才去继承(比如狗和动物)

2.父类私有的成员变量不能被继承

3.父类的构造方法不能被继承

4.再创建子类的对象的时候默认会调用父类无参的构造方法

举个例子:

父类:

1 public classStudent {2 String name;3 publicStudent(){4 }5 publicStudent(String name ){6 this.name =name;7 }8 public voidStudy(){9 System.out.println(name+"学习马克思列宁主义!!");10 }11 }

子类:

1 public classBaseStudent extends Student{ //2

3 publicBaseStudent(String name){4 super(name);5 }6 public voidStudy(){7 System.out.println(name+"学习javaSE");8 }9 }

如上子类中出现了一个super(name);表示调用了父类一个参数的构造方法

super关键字:

super关键字表示对父类空间的引用,怎么理解呢?

可以理解为在子类创建的对象时分配的内存中单独开辟了一部分空间用来存储父类的构造函数和成员,super关键字可以调用这篇空间的内容;

super关键字使用场景:

1.如果子类和父类拥有同名的成员时,根据java就近原则会先调用子类的成员,则可以使用super关键字访问父类的成员变量

2.创建子类对象时默认会调用父类的无参构造方法,可以使用super关键字访问父类带参的构造函数(如上代码中的super(name))

super关键字使用细节:

1.super关键字一般会出现在子类得到构造方法中,而super必须时在子类的构造方法中的第一个语句位置

2.super和this不能同时出现在一个构造方法中调用其他的构造函数(因为都需要出现在第一条语句上)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值