什么是抽象类,以及用法

抽象类
随时记录下吧,做开发半年多,想在几年后回顾下21岁时对程序的理解,也是想多理解以下基础,有什么不对的地方请大神指出。
抽象类出现在继承关系之中。
以下是父类Animal类

package b811;

import java.util.Random;

/**
 * 首先从语文的角度来解释抽象 抽象的反义词为具体
 * 那么我么我们就可以把抽象理解成为不具体
 * 在本类中首先是抽象类Animal,
 * 如果抽象比较难理解,那我们从具体入手,
 * 对于动物,具体的实例就是猫 狗这个具体的实例,那么根据上面所说
 * 抽象就是动物,所以定义一个抽象类为动物
 * @author 811 2015年4月20日17:39:29
 */
public abstract class Animal {
    /**
     * 抽象类理解之后,那么抽象方法就更好理解了。
     * 用相同的道理,如果说所有的东西都会吃东西
     * 所以我们把他抽象成一个方法,至于怎么吃 , 吃什么 等等具体         的动作,交给具体的动物去做
     */
    public abstract void eat();
    /**
     * @return 随机生成的量词
     */
    public int randomNum(){
        //获取随机函数类
        Random random = new Random();
        //10以内的整数
        return  random.nextInt(10);
    }

}

接着是他的实现类,以猫类为例Cat

package b811;

import java.util.Random;
/**
 * 接下来我们来看具体某一个动物
 * 首先猫作为一个具体的动物,而且有又属于动物类别
 * 就会产生一个父类子类的关系,及继承Animal类
 * 如果需要更多的如狗,猪,羊,都可以来继承Animal进行吃的活动
 * 对代码有了较好的业务规范
 * @author 811  2015年4月20日17:39:35
 */
public class Cat extends Animal {

    /**
     * 提示:如果子类(Cat)实现了父类(Animal)的所有抽象方法
            那么他的子类(Cat)将不在是抽象类,反之,其子类(Cat)还是抽象类
            类名要用abstract修饰,需要Cat的子类继续其实现Animal的抽象方法
            以此类推
     *  
     */
    @Override
    public void eat() {
        //输出该动物吃了多少事物
        System.out.println(randomNum()+"g");
    }
    //启动程序
    public static void main(String[] args) {
        Cat cat = new Cat();
        cat.eat();
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值