zoukankan      html  css  js  c++  java
  • Java第八天,抽象的概念是什么?如何完成抽象类的实现?

    抽象

    面向对象编程中,抽象是一个很重要的概念,那么抽象有什么需要注意的地方呢?请熟记以下知识点。

    1. 如果父类当中的方法不确定如何进行方法体的实现,则这个方法就是抽象方法。
    2. 抽象方法只需要在方法前面加上abstract关键字。然后不需要写方法体(去掉大括号即可)。
    3. 抽象方法所在的类,必须为抽象类才行。
    4. 抽象类只需要在类名前面写上abstract关键字即可。
    5. 抽象类中可以定义普通成员方法。
    6. 不可以直接创建抽象类对象。
    7. 必须有继承抽象类的子类,且子类中必须实现父类中的所有抽象方法(除非子类也是抽象类),且必须去掉abstract关键字,继而实现方法体
    8. 子类实现抽象类的抽象方法本质上是覆盖重写,所以可以并且建议写上 @Override 。
    9. 抽象类中可以有构造方法,是用来初始化父类成员使用的。
    10. 抽象类中不一定有抽象方法,但是有抽象方法的类必定是抽象类。
    11. 没有抽象方法的抽象类也不可以直接new对象。

    代码:

    父类:

    public abstract class Animal {

        public static int id = 0;
        public int age;
        public String name;

        public Animal(int age,String name){

            this.age = age;
            this.name = name;
            id++;
            drink();
        }

        public abstract void eat();

        public void drink(){

            System.out.println(age + "岁的" +  this.name + "喝水");
        }
    }

    子类:

    public class Dog extends Animal {

        public Dog(int age,String name){

            super(age,name);
        }

        @Override
        public void eat(){

            System.out.println(super.age + "岁的" + super.name + "吃骨头");
        }
    }


    运行代码:

    public class Demo {

        public static void main(String[] args) {

            Dog dog = new Dog(3,"二哈");
            dog.eat();
        }
    }


  • 相关阅读:
    POJ 3267 The Cow Lexicon(动态规划)
    POJ 1125 Stockbroker Grapevine(最短路径Floyd算法)
    HDU 2374 || SDUT2386 A Game with Marbles(简单题)
    JavaScript之scrollTop、scrollHeight、offsetTop、offsetHeight等属性学习笔记
    基于SNMP的MIB库访问实现的研究
    一个兼容大多数浏览器 的 图片滚动的js
    C#获取本地计算机名,IP,MAC地址,硬盘ID
    中文首字母搜素的实现 sql函数
    xml文档的加密与解密
    修改Windows 2003 server远程桌面端口3389
  • 原文地址:https://www.cnblogs.com/viplanyue/p/12700542.html
Copyright © 2011-2022 走看看