java继承/抽象类

继承
extends
子类拥有父类的属性和方法。(面向对象的三大特征之一;
父类也叫基类或者超类;
继承父类非private的属性和方法 (一般继承方法);
类的继承是单一继承,也就是说,一个子类只能拥有一个父类,所以 extends 只能继承一个类;
特点:
1 子类不能继承父类的private属性和方法;
2 类的继承是单继承,但是可以多重继承;
3 一般属性用private修饰,方法用public修饰,所以我们开发的工作中,主要是继承方法的;
格式:
public 子类 extends 父类{
}

使用场景:
如果多个类有共同的属性和方法,那么我们可以把这些类中共同的属性和方法放到父类中,让这些类(子类)去继承父类,减少代码的重复性;
this和super
this
1.对象本身
2.this()调用构造方法,可以有参数,一般只在构造方法里面;
super
1.代表的是父类对象;
2.子类的构造方法里面,默认第一句会添加super();
3.如果子类构造方法手动调用super(),必须放在第一行;
都可以代表对象,对象可以调用属性和方法 this.xx super.xx
构造方法里面怎么用: this() super() 代表调用构造方法,并且只能在构造方法里面被调用,而且必须放在第一行 否则报错;
代码执行顺序:

        静态>普通        父类>子类的      代码块>构造方法

           父类静态代码块
           子类静态代码块
           父类代码块
           父类构造方法
           子类代码块
           子类构造方法

抽象类
把具有共同特征的类提取出来就是抽象类。
特点:
1 不能实例化对象。
2 抽象类就是当爹的。(抽象类就是用来被继承)
格式:
在创建类的时候,class前面加上abstract
抽象方法:
被abstract修饰的方法就叫抽象方法,没有方法体;
如果普通类继承了抽象类,那么抽象类中的抽象方法必须被重写,否则报错;
抽象类和普通类的区别:
1 普通类里面不能有抽象方法、抽象类里面可以有普通方法;
2 抽象类里面可以有构造方法,但是不能实例化对象;
3 普通类继承了抽象类,必须重写抽象方法 ;
方法重写
在继承或者实现关系里面,如果子类和父类的方法名、参数列列表、返回值完全一致,就是方法重写。
修饰符>父类, 异常<父类
方法重写的目的
父类的方法不适用子类,那么子类就要考虑重新定义这个方法;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值