java中的继承

时间秒杀一切 提交于 2019-11-29 21:30:27
package com.aaa.zxf.ajax.test;

/**
 *一、 java 中的继承
 *
 * 继承的特性?
 * 1.实现继承的方式
 *    A 如何建立继承关系(一个类继承于 另一个类   子类 继承 父类 )
 *
 *   【修饰符】 class 类名(子类) extends 类名(父类){
 *
 *   }
 *
 * B 子类继承父类 就可以使用父类的成员变量和方法(局限性 权限修饰需要满足)
 *   注意: 面试题 私有的属性和方法能不能被继承?
 *          答案:不能 因为无法调用
 *                  能  但是无法调用
 *
 * 2.继承的关系
 *      在java中 类和类之间是单继承关系(一个类只能继承一个父类)
 *
         *   类  和 类     单继承
         *   类  和 接口   多实现
         *   接口和 接口   多继承
 *
 * 3.默认的继承
 *      如果一个类没有写 extends 默认继承于 Object(鸡肋 基类)
 *
 *
 * 二、 方法的重写
 *          子类有一个方法 和 父类一模一样 称之为 子类重写了父类的方法
 *
 * 思考题:为什么要重写?
 *         因为 有可能父类的方法,满足不了子类的需求 所以子类需要对父类的方法进行重写。
 *
         * 如何验证是否对父类的方法重写成功呢?
         * 万一 父类的使getObejct 子类重写 get0bject()
         * 在方法的上面添加 @Override 注解 这个注解或帮我们验证是否重写成功 如果不成功会报错

 三、 继承多态

 */
public class JavaJiCheng01 {
    public static void main(String[] args) {

        Animal animal = new Animal();
        animal.run();   // animal 调用自己的 run方法

        /**
         * 多态开始
         *
         * new 的是什么类型 就说明这个对象是什么
         * 调用方法的时候 是根据对象的真实类型去调用
         */


       //前父后子
       Animal animal01 = new Dog();
       animal01.run();
       animal01.name = "二哈";  // 调用父类的公共属性

    }
}

// 在动物类中声明 id 和 name 创建一个类 Aniaml类 动物类
class Animal{
    public int id;
    public String name;
    private  int age;

    void run(){
        System.out.println("动物要吃饭");
    }
}

//  让狗和猫继承与 动物类(狗单独添加food 猫单独添加color)
class  Dog extends  Animal{
    public  String food;

    @Override    //添加这个注释  未报错  重写成功。
    void run(){
        System.out.println("狗吃骨头");
    }

}

class Cat extends Animal{
    public String color;

    @Override
    void run(){
        System.out.println("猫吃鱼");
    }
}

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!