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("猫吃鱼"); } }