类的继承

 

                                                                    类的继承

一、基本知识点

1、Java继承关键字与格式

   Java继承的关键字:extends

   格式:

   pubilc class 类名(子类,派生类,超类) extends 类名(父类,基类)

   Java中的继承都是单继承

   eg:public class A extends B,C(No!!)

   

 

2、子类继承到了父类的哪些属性与方法?能调用哪些方法与属性有哪些?

   子类继承了父类的所有属性和方法。

   能调用的:

              类中     同包中    有继承关系不同包中     不同包

 

public        可以     可以           可以             可以

  

protected     可以     可以           可以             不可以

 

 

private       可以     不可以         不可以           不可以

 

  

默认的        可以      可以          不可以           不可以

 

 

 

3、方法重写

   

   (1)访问修饰符,返回值类型,方法名,参数个数类型顺序都必须要相同。

   (2)具体的实现不同(既{}里面的内容)

   

 

4、自动转型

   用父类名来表示子类

   eg:father f=new sun();

 

 

6、多态性

      多态性是由java的方法重载,继承,方法重写,自动转型等技术点的组合。

二、写代码时遇到的问题。

    1、父类写有构造方法的时候,子类也一定要写构造方法。并且利用super方法调用父类的构造方法。

    eg:public class Automation extends WashingMachine {

//构造方法

public Automation(int size ,String color, float price, String brand) {

//调用父类的构造方法

super(size, color, price, brand);

}

     

    2、自动转型的运用场合

       用父类来表示子类,可以减少代码的重复量。       

       如:

        洗衣服,衣服的总类有很多:外套,袜子,裙子 。。。。如果不用自动转型的话,我们想写这个人在洗外套,则会写成:

                public void wash(Coat coat){

System.out.println(brand+type+"的"+"洗衣机只需要放入"+coat.getName                ()+"!");

       如果每种衣服类型都写一种的话,则需要写很多个这样的重复代码。

       为了减少代码的重复量可以使用自动转型(向上转型)。

         public void wash(Clothes clo){

System.out.println(brand+type+"的"+"洗衣机只需要放入"+clo.getName                ()+"!");

         public class Coat extends Clothes {

 

}

               Coat coat = new Coat();

coat.setName("外套");

                auto.wash(coat);

        这样在调用wash方法的时候,coat自动转型为父类clothes,大大的减少了代码的数量。

       

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值