java基础:继承和抽象类

继承: 子类拥有父类的属性和方法。(面对对象的三大特征之一)
            子类:
            父类:(基类、超类)

特点:
        1 子类不能继承父类的private属性和方法
        2 类的继承是单继承,但是可以多重继承
        3 一般属性用private修饰,方法用public修饰,所有我们以后开发的工作里面,主要是继承方法的

格式:extends
        public 子类 extends 父类{


        }

使用场景:
        如果多个类有共同的属性和方法,那么我们可以把这些类中共同的属性和方法放到父类中,让这些类(子类)去继承父类,减少代码的重复性。

this、super
        都可以代表对象,对象可以调用属性和方法 this.xx super.xx
        构造方法里面怎么用。 this() super() 代表调用构造方法,并且只能在构造方法里面被调用,而且必须放在第一行

 this:
         1 对象本身,new的对象就是这个this
         2 this() 调用构造方法,可以有参数,一般只在狗仔方法里面
         3 如果构造方法里面调用this(),只能放在第一行,否则报错


 构造方法补充:
         如果类里面没有写构造方法,那么系统默认给一个无参构造方法
        如果类里面有有参构造方法,那么系统不会给无参构造方法

 super:
         1 代表的就是父类对象
         2 子类的构造方法里面,默认第一句会添加super()
         3 如果子类构造方法手动调节super(),必须放在第一行

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

抽象类:把具有共同特征的类提取出来就是抽象类

 特点:
         1 不能实例化对象
         2 抽象类就是当爹的。(抽象类就是用来被继承)

 格式:
         在创建类的时候,class前面加上abstract


抽象方法:被abstract修饰的方法就叫抽象方法,没有方法体
                  如果普通类继承了抽象类,那么抽象类中的抽象方法必须被重写,否则报错



 抽象类和普通类的区别:
         1 普通类里面不能有抽象方法、抽象类里面可以有普通方法
         2 抽象类里面可以有构造方法,但是不能实例化对象

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值