14 面向对象 继承

Java只能单继承 前提:类与类之间

扩展:

类与接口之间:多实现

接口与接口之间:多继承

原因:如果一个类有两个父类则如果两个父类中有同名方法会导致子类的矛盾

但如果接口继承了多个接口就算有同名方法 但因为是抽象的 没有方法主体 所以没事儿

 

父类是共性方法向上抽取封装而成是子类的子集(与直觉相反)

注意:与直觉相反的部分

比如可以提取共性方法“动物”为父类

子类有猫狗 驴 猪等

按照通常的理解动物更宽泛范围更大猫狗驴猪更具体范围更小

但实际情况是父类拥有所有子类所共有的一些特性和方法是普适所有子类的

因此在这里 动物范围更小 而猫狗驴猪因为每个子类都有自己的特有属性和方法所以范围反而更大

 

子类可以覆写父类的方法

 

提高了代码的复用性

 

辨析重载与覆写

覆写:

子类权限必须大于父类权限才能覆写

覆写静态的只能是静态

覆写可以改变参数的个数和类型也可以改变方法的类型

 

重载:

重载也可以改变参数的个数和类型与返回值类型也无关只需要同名

 

class ExtendsDemo

{

         publicstatic void main(String[] args)

         {

                   Fatherf = new Father();

                   f.show();

                   Son.show("nimei");

                   Father.show(5);

         }

}

 

class Father

{

         voidshow()

         {

                   System.out.println("卧槽");

         }

 

         staticvoid show(int a)

         {

                   System.out.println("卧槽"+a);

         }

}

 

class Son extends Father

{

         staticvoid show(String name)

         {

                   System.out.println("卧槽"+name);

         }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值