Java 抽象


        章节


        Java抽象类和方法

        数据抽象是隐藏某些细节,只向用户显示基本信息的过程。

        抽象可以通过抽象类或接口来实现(你将在下一章详细了解这些内容)。

        abstract关键字是一个非访问修饰符,用于类和方法:

        • 抽象类: 是一个受限制的类,不能用于创建对象(要访问它,必须通过它的子类对象)。
        • 抽象方法: 只能在抽象类中使用,抽象方法没有主体,主体由抽象类的子类提供。

        抽象类可以有抽象方法和常规方法:

        abstract class Animal {
          public abstract void animalSound();
          public void sleep() {
            System.out.println("Zzz");
          }
        }

        Animal是抽象类,不能创建抽象类的对象:

        Animal myObj = new Animal(); // 将报错

        要访问抽象类,必须通过它的子类。

        记住,在继承一章中介绍过,使用extends关键字来继承类。

        示例

        // 抽象类
        abstract class Animal {
          // 抽象方法(没有主体)
          public abstract void animalSound();
          // 常规方法
          public void sleep() {
            System.out.println("Zzz");
          }
        }
        
        // 子类(继承Animal)
        class Pig extends Animal {
          public void animalSound() {
            // 这里提供了animalSound()的主体
            System.out.println("小猪说: 呜呜");
          }
        }
        
        class MyMainClass {
          public static void main(String[] args) {
            Pig myPig = new Pig(); // 创建一个Pig对象
            myPig.animalSound();
            myPig.sleep();
          }
        }

        为什么以及何时使用抽象类和方法?

        实现安全性 - 隐藏细节,只对外显示对象的重要信息。

        相关文章
        相关标签/搜索
        每日一句
          每一个你不满意的现在,都有一个你没有努力的曾经。
        公众号推荐
           一个历史类的公众号,欢迎关注
        一两拨千金
        管家婆精选心水黄大仙 铜梁县| 冷水江市| 离岛区| 马边| 阿坝| 朝阳市| 长汀县| 冷水江市| 宜州市| 石屏县| 曲水县| 神农架林区| 深泽县| 华坪县| 如皋市| 北辰区| 黔江区| 新疆| 襄城县| 普格县| 亳州市| 孟州市| 通海县| 沙湾县| 阿拉善盟| 佛山市| 金门县| 奈曼旗| 子洲县| 永丰县| 新和县| 威信县| 交口县| 镇远县| 西城区| 镇赉县| 安丘市| http://fa.hz0j2r6vo.fun http://fa.hz0j1r5vo.fun http://fa.hz0j1r2vo.fun http://fa.hz0j2r7vo.fun http://fa.hz0j2r2vo.fun