面向对象继承

继承
继承是多态的前提,没有继承就没有多态
子类可以拥有父类的内容
子类还可以拥有自己专属的内容
定义父类格式(一个普通的父类其实就是一个类)
public class 父类名称 { }
定义子类名称(就是子类名称后面加上一个extends父类名称)
public class 子类名称 extends父类名称{ }
再父子类的关系继承中,如果出现成员变量重名,则创建子类对象时有两种访问方式:
直接通过子类对象访问成员变量 (等号左边是谁就优先用谁,没有则往上找)
间接通过成员方法访问成员变量 (该方法属于谁就优先用谁)
区分子类中方法重名三种
局部变量:直接写成员变量名
本类的成员变量名:this.成员变量名
父类的成员变量名:super.成员变量名
在父子类的关系当中,创建子类对象,访问成员方法的规则
创建对象是谁就优先用谁,没有则向上找
重写【override】
重写:方法的名称一样,参数列表【也一样】 覆盖 覆写
重载:方法的名称一样,参数列表【不一样】
方法覆盖重写特点:创建的是子类对象,则优先用子类方法
方法重写的注意事项
必须保证父子类的方法名称和方法参数相同
@Override 写在方法前用来检测是否是有效的覆盖重写
这个注解就算不写只要满足条件也是正确的
子类方法的返回值必须【小于等于】父类方法返回值的范围
子类方法权限必须【大于等于】父类方法权限修饰符
super();用于子类调用父类的构造方法

public Zl() {
    super();
}

三种用法
在子类成员方法中,访问父类成员变量
在子类成员方法中,访问父类成员方法
在子类构造方法内,访问父类构造方法
必须是第一个
this()用于访问本类的内容
在本类的成员方法中访问本类的成员变量

public void mete(){
    System.out.println(this.num);

在本类的成员方法中访问本类的另一个成员方法

public void mate1(){
    System.out.println("AAA");
}
public void mate2(){
    this.mate1();
    System.out.println("BBB");
}

在本类的构造方法中访问本类的另一个构造方法

public Zl() {
    this(12);
}

public Zl(int num) {
    this.num = num;
}

}
this调用也必须是第一个也是唯一一个 不能和super方法同时使用

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值