继承、抽象

继承、抽象

一.继承

1.继承解决的问题:共性抽取
子类中有共性的内容(成员变量、成员方法)抽取到父类中,子类可以直接使用父类非私有的成员。

2.继承的格式

public cLass 父类{
 //成员变量、构造方法、成员方法
}

public class 子类 extends 父类{
 //成员变量、构造方法、成员方法
}

3.继承的特点
(1)Java只支持单一继承:一个类只能有一个父类。
(2)java可以多层继承:父类也可以有自己的父类,且子类可以继承父类的父类
注:任何一个类都直接或者间接的继承Object类。

4.继承的好处弊端:
好处:提高了代码的复用性、可维护性。
弊端:增强了代码的耦合性(类与类之间的关系更加密切)

5.继承中的访问特点
(1)成员变量的访问
遵循就近原则:先到子类中找,子类没有就去父类中找【如果想单独用子类或者父类的变量,则用this和super区分调用】
(2)成员方法的访问
遵循就近原则,补充:如果本类调用自己的方法,则this可以省略
(3)构造方法的访问
a.子类中所有的构造方法,都会默认去调用父类的空参数构造方法
原因:子类的构造方法的第一行有一个super(),它用于父类的成员初始化。
b.如果不想去访问父类的空参构造方法,可以手动使用super(参数)去访问有参构造方法
注意:this();和super();都只能在构造方法的第一行,所以他们不能共存。

6.方法重写
(1)概念:在子父类关系中,子类和父类有一模一样的方法,这种现象叫方法重写。
【意义:子类复写父类方法,既能保证父类方法的不变,子类也能有自己的方法实现】
(2)注意事项:
a.私有方法不能重写
b.静态、final修饰方法不能复写
c.子类复写父类方法,权限必须大于或等于父类
【public > protected > 默认 > private】
(3)与方法重载的区分
方法重载:同一个类中,方法名相同,参数列表不同(参数类型不同、参数个数不同、参数顺序不同,方法修饰权限可不同)

二.抽象

1.概念
抽象是继承的一个延伸,在父类中有些方法不知道怎么写,可以不写,这就是抽象方法。

2.抽象的使用格式:

//抽象一定是修饰父类
public abstract class 父类{
public abstract void 抽象方法();
public void 普通方法(){}
}
//子类继承抽象类,必须重写父类的抽象方法
public class 子类 extends 父类{
//重写抽象方法
@Override//注解,可用于判断重写方法是否写错
public void 抽象方法(){ 方法体; }
}

3.抽象的注意事项:
(1)抽象类不能创建对象
(2)具体的子类继承抽象类,必须重写抽象方法,如果是抽象类继承,可以不用复写方法(它的存在意义可以补充父类的抽象方法)
(3)抽象方法必须在抽象类中,但是抽象类中不一定要有抽象方法
(4)抽象方法没有方法主体

public class Test1 {
    public static void main(String[] args) {
        Zi z = new Zi();
        z.show();
    }
}

abstract class Fu{
    public void show (){
        System.out.println("FU你好,世界");
    }
}

class Zi extends Fu{
    public void show (){
        super.show();
        System.out.println("ZI你好,世界");
    }
}

4.抽象的意义
限制子类的行为(方法),通过父类的抽象方法进行定义。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

陪雨岁岁年年

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值