java学习笔记15

本文详细介绍了面向对象编程中的继承概念,强调了继承在多态中的作用,以及如何通过继承抽取共性。内容包括继承的特点,如子类继承父类的属性和行为,成员变量和方法的访问规则,以及方法的重写规范。同时,还讨论了构造方法的使用,特别是子类构造器中super关键字的应用。此外,文章提到了方法重写的关键点,如方法名和参数列表必须一致,子类方法的返回值和权限修饰符的限制。
摘要由CSDN通过智能技术生成

继承的概述

面向对象的三大特性:封装,继承,多态
继承是多态的前提
继承住要解决内容:共性抽取
继承:就是子类继承父类的属性和行为,使得子类对象具有与父类相同的属性、相同的行为。子类可以直接 访问父类中的非私有的属性和行为。
特点:
1 子类可以拥有父类的“内容”
2 子类还可以拥有自己专有的内容

继承的格式

在继承的关系中,子类可以被当做父类看待
定义父类的格式:

public class 父类名称
{
 //...
}

定义子类的格式

public class 子类名称 extends 父类名称
{
  //....
}

继承中成员变量的访问特点

子类可以继承父类,父类当中不能有子类成员变量
在父子类的继承关系中,如果成员变量重名,则创建子类对象时,访问有两种方法
直接通过子类对象访问成员变量;
等号左边是谁,就优先用谁,没有再向上找
间接通过成员方法访问成员变量:
该方法属于谁,就优先用谁,没有就向上找

区分子类方法重名的三种变量

局部变量 直接写成员变量名
子类的成员变量 this.成员变量名
父类的成员变量 super.成员变量名

继承中成员方法的访问特点

public class fu
{
   public void methodfu()
   {
      System.out.println("父类方法")}
   public void method()
   {
      System.out.println("父类重名方法")}
}
public class zi extends fu
{
   public void methodzi()
   {
      System.out.println("子类方法")}
         public void method()
   {
      System.out.println("子类重名方法")}
}

}
public class Demo
{
   public static void main(String[] args)
   {
      zi.method();
   }
}

创建的对象是谁,就优先用谁,如果没有则向上找
[注意]无论是成员方法还是成员变量,如果没有都是向上找父类,绝不会向下找子类

继承中方法的重写

重写
概念:在继承关系中,方法的名称一样,参数列表也一样,也叫覆盖,覆写
特点:创建的是子类对象则优先用子类方法
注意事项:
1 必须保证方法名称相同,参数列表也相同
2 @Override注解,可以起到一个安全监测的作用,检测重写是否正确
3 子类方法的返回值必须小于等于父类方法的返回值范围
4 子类方法的权限必须大于等于父类方法的权限修饰符
public>protected>(default)>private
(default)不是关键字default,而是什么都不写
应用场景:
图片来源黑马程序员
继承中构造方法的访问特点
1 子类构造方法当中有一个默认隐含的“super()“调用,所以一定是先调用的父类构造,后执行的子类构造
2 可以通过一个super关键字来在子类中调用父类的重载构造
3 super的父类构造调用,必须是子类构造方法的第一个语句,不能一个子类构造调用多个super构造

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值