1.继承(extends ) 
        概念—— 
                当一个类的属性与行为均与现有类相似,属于现有类的一种时,这一个类可以定义为现有类的子类。 
        概念二 
                多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需再定义这些属性和行为,只要继承那个类即可,这个类称为父类或者超类 
         
        注意:子类具有父类的非私有属性与方法。无需重新定义,可以直接调用。 
         
        格式 
                class 子类 extends 父类{ 
                        //父类的非私有方法与属性均继承过来 
                } 
         
        继承的好处 
                继承的出现提高了代码的复用性。 
                继承的出现让类与类之间产生了关系,提供了多态的前提。 
        继承的特点 
                Java只支持单继承,不支持多继承。即只能有一个父类。 
                父类可以继续有父类。(可以多层继承) 
                只有Object类没有父类。 
        方法重写 
                当子类继承父类后,拥有了父类非私有的方法并可以直接调用。如果认为父类提供的方法不够强大, 
                子类可以按照子类自身的逻辑重新定义继承过来的父类方法,这个重新定义一个方法的过程叫做方法重写。 
 
                注意事项 
                        访问权限相同或子类方法更大 
                        方法名称必须相同 
                        参数列表必须相同 
                        返回值为基本类型时必须相同 
                        返回值为引用类型时相同或子类小 
 
                         
2.抽象类 
         
        抽象方法:抽象方法即只有功能声明,没有功能主体实现的方法 abstract修饰 
        定义:有抽象方法的类叫做抽象类 
        抽象定义格式 
                public abstract  class  Person { 
                        public abstract void  eat(); 
                } 
        抽象类&抽象方法的使用 
 
                抽象类无法直接创建对象,只能被子类继承后,创建子类对象。 
                        子类定义时继承抽象类 
                                抽象类是事物的描述,子类需要继承父类完成最终的功能实现细节(即重写方法,完成方法体)。 
                                将一个抽象方法重写的过程也叫实现方法的过程。 
                子类定义后创建实例对象 
                                在定义好子类后,可以直接创建对象。 
                                在所有使用子类的地方可以传入子类对象,在所有使用父类的地方也可以传入子类对象,因为属性与方法在子父类中都是相同的。 
         
        抽象类的注意事项  
                有抽象方法的类必须是抽象类,抽象类不能直接创建对象 
                抽象方法子类必须实现,如果子类不实现,那么子类必须是抽象类 
                抽象类可以有具体的方法 
                抽象类可以没有抽象方法 
 
 
 
 
 
 
 
 
 
         
 
 |   
        
 
    
    
    
     
 
 |