Java入门之继承(上)

继承

概念:
  • 一种类与类之间的关系

  • 使用已存在的类的定义作为基础建立新类

  • 新类的定义可以增加新的数据或功能,也可以用父类的功能,但不能选择性地继承父类,需全部把父类的东西继承过来。

  • 子类只能继承父类非私有成员

特点:

1.利于代码复用

2.缩短开发周期

语法:

1.使用extends实现继承

2.单一继承,只能有一个父类

/*
* Dog 为子类 又名派生类
* Animal 为父类 又名 超类、基类
*/
class Dog extends Animal{
  
}
方法重载要求:

1.同一个类中

2.方法名相同,参数列表不同(参数顺序 、个数 、类型)

3.方法返回值、访问修饰符

4.与方法的参数名无关

方法重写要求:

1.有继承关系的子类中 ,子类重写父类方法

2.方法名,参数类型、顺序、个数 都要与父类的方法相同

3.方法返回值类型与父类兼容就可以,允许发生改变

4.访问修饰符,访问范围需要大于等于父类的访问范围

5.与方法的参数名无关

访问修饰符
  • 公有的 public (允许任意位置使用)

  • 私有的 private (只允许在本类中使用)

  • 受保护的 protected (允许在当前类、同包子类/非子类、跨包子类调用、跨包非子类不能允许)

  • 默认 (允许在当前类 同包子类调用;跨包子类/非子类不允许调用)

super关键字

super代表父类对象的引用,通过super访问父类的成员

父类的构造方法不允许被继承,不允许被重写,但是会影响子类实例化过程

继承后的初始化顺序(子类对象的实例化过程)

父类静态成员 → 子类静态成员 → 父类对象构造 → 子类对象构造

  • 子类的构造的过程中必须调用其父类的构造方法

  • 如果子类的构造方法中没有显示的标注,则系统默认调用父类的无参构造方法

  • 如果子类的构造方法中既没有显示标注,且父类中没有无参的构造方法,则编译错误

  • 使用super调用父类指定的构造方法,必须在子类构造方法的第一行

public Cat(String name, int age){
  super(name, age);
}

this 和 super

this : 当前类对象的引用
  • 访问当前类的成员方法、成员属性

  • 访问当前类的构造方法

  • 不能在静态方法中使用

super
  • 访问父类的成员方法、成员属性

  • 访问父类的构造方法

  • 不能在静态方法中使用

this和super不能同时使使用

在继承(下)中会学习更深入的知识,敬请期待,很快更新。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值