三大特性继承

什么叫继承

继承就是抽取不同的类共有的功能和属性把他们定义为一个类,并且让其他的类继承这个类,就可以得到这个类所有的共有内容。这个类被叫做父类(超类),而其它的类被叫做子类。

在Java中继承的局限性

1.java只能单继承

           单继承是指:一个类继承另一个类。

2.java不能多继承,因为多继承存在不确定性。

            多继承是指:一个类同时继承了多个类。

例如class A extends B,C(){

}这是不被允许的。

解决java单继承的局限性:

1.进行多重继承(多层继承)

2.进行多实现(接口)

继承子父类间成员属性的特点:

1.有父类成员属性,无子类成员属性,用父类的

2.有子类,无父类用子类的。

3.若有相同成员变量,既有父类又有子类依据就近原则,用子类的

4。父类子类存在同名成员变量,如果想要调用父类成员变量,则用super可以直接调用,如果想要调用子类可以直接写成员变量名字或者用this调用。这样可以利用super和this进行区分子父类变量。

super:

super不是用来代表父类对象的,super是一个子类对象中一块表示继承父类的成员空间。

super不能出现在静态方法中。因为super时在子类对象开辟的一个继承父类的成员空间。

1.用于区分子父类同名成员,被super标识的就是子类继承父类的。

2.super(参数列表)表示的是父类构造器,但是如果用super调用构造器一定得放在子类构造器第一句。

继承子父类间成员方法的特点:

1.有父类方法,无子类方法,用父类

2.无父类方法,有子类方法,用子类

3.既有父类又有子类方法并且方法完全相同,则子类方法覆盖(重写)父类方法。

4.如果说子父类间有方法被重写,则用this或者没有任何标识的是子类覆盖父类后的方法,如果用super标识的则是父类方法。

方法的重载:overload

方法重载:方法名相同,方法的参数列表不同(数量,前后顺序,参数数据类型),当然跟返回值类型无关。

方法的重写:override

方法重写:首先要有父类,其次父类其中方法和子类方法完全相同(方法名,返回值类型,参数列表等),子类的方法作用范围要比父类的方法作用范围大。

继承子父类间构造器的特点

1.子类构造器调用父类构造器时,super()必须要在子类构造器的第一句。

2.父类中构造器只写了带参构造时候,默认的无参构造便不在提供了,如果子类中再次调用父类构造只能调用带参,super(参数列表),如果直接写super();则会报错因为父类已经没有无参构造了。

3.在构造器中this和super不能同时使用,因为this和super用他们来调用构造器都必须放在构造器中的第一句,如果同时使用就会报错。

解决方案:让创建对象的构造器不要调用super,用它调用本类的重载的构造器,让重载构造器调用父类构造器,这样就可以了。

子类继承父类的成员除了私有都可以继承(包括静态)。(也就是不能直接访问私有)

如何访问父类私有呢?(间接访问)

在父类中给出公共访问方式如:get/set

final关键字 :是个修饰符,可以修饰成员变量,成员方法,类。

1.final所修饰的变量后无法被改变(被称为常量)。

2.final所修饰的成员方法无法被重写。

3.final所修饰的类是无法被继承的。

4.被final修饰的变量的赋值方式

      1>.在声明的同时进行初始化值。

      2>.先声明在构造器初始化对象的时候也可以进行初始化值。

5.常量名一般都是大写。

     一般常量都被定义为类变量,因为定义完final数值不再改变。而且可以随着类加载而加载,生命周期延长,类不销毁便一直存在,将其称为全局变量。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值