码迷,mamicode.com
首页 > 移动开发 > 详细

Android-Java-抽象类

时间:2019-02-05 18:18:21      阅读:195      评论:0      收藏:0      [点我收藏+]

标签:tabs   col   abstract   package   oop   anim   静态方法   java   ora   

定义抽象类,就一定会定义抽象方法,抽象方法没有方法体{},就证明抽象方法 是不运行的,抽象方法 是给子类继承覆盖运行的,

子类继承->抽象类 就必须覆盖抽象方法,否则编译都失败;

 


 

 

 

水果案例: 

定义水果抽象类 FruitAbstract:

package android.java.oop16;

/**
 * 定义一个抽象类,此类 可以有抽象方法,也可以有普通方法,静态方法 等等;
 */
public abstract class FruitAbstract {

    /**
     * 去买水果,具体什么水果,还不知道,属于抽象的,模糊的,
     * 所以定义成抽象方法,具体是什么水果,让子类去覆盖实现
     */
    public abstract void info();

}

 

描述??香蕉对象:

package android.java.oop16;

/**
 * 描述香蕉对象
 * 香蕉是 水果 中的一种 所以继承水果
 */
public class Banana extends FruitAbstract {


    /**
     * 香蕉??
     */
    @Override
    public void info() {
        System.out.println("香蕉??剥皮后,才能吃....");
    }
}

 

描述??西瓜对象:

package android.java.oop16;

/**
 * 描述西瓜对象
 * 西瓜是 水果 中的一种 所以继承水果
 */
public class Tsama extends FruitAbstract {

    /**
     * 西瓜??
     */
    @Override
    public void info() {
        System.out.println("西瓜??要切开后,才能吃...");
    }
}

 

描述??橘子对象:

package android.java.oop16;

/**
 * 描述橘子对象
 * 橘子是 水果 中的一种 所以继承水果
 */
public class Orange extends FruitAbstract {

    /**
     * 橘子??
     */
    @Override
    public void info() {
        System.out.println("橘子??要剥皮后,才能吃....");
    }
}

 

main测试方法:

package android.java.oop16;

public class Test {

    public static void main(String[] args) {

        Banana banana = new Banana();
        banana.info();

        Tsama tsama = new Tsama();
        tsama.info();

        new Orange().info();

    }

}

 

执行结果:

技术图片

 

 




 

 

动物案例:

AnimalAbstract:

package android.java.oop17;

/**
 * 定义一个抽象类,此类 可以有抽象方法,也可以有普通方法,静态方法 等等;
 */
public abstract class AnimalAbstract {

    /**
     * 举例:快看快听 那个动物在叫呢,
     * 由于这个动物 具体是什么动物在叫 这个是不知道的,是抽象的模糊的
     */
    public abstract void cry();

}

 

Cat:

package android.java.oop17;

/**
 * Cat属于动物类,具备动物的行为;
 * Cat是 Animal 的一种 所以需要继承 Animal
 */
public class Cat extends AnimalAbstract {

    /**
     * Cat ?? 具体的叫 行为
     */
    @Override
    public void cry() {
        System.out.println("猫?? 喵喵喵....");
    }
}

 

Cattle:

package android.java.oop17;

/**
 * Cattle属于动物类,具备动物的行为;
 * Cattle是 Animal 的一种 所以需要继承 Animal
 */
public class Cattle extends AnimalAbstract {

    /**
     * Cattle ?? 具体的叫 行为
     */
    @Override
    public void cry() {
        System.out.println("牛 ?? 槑槑篾....");
    }
}

 

Dog:

package android.java.oop17;

/**
 * Dog属于动物类,具备动物的行为;
 * Dog是 Animal 的一种 所以需要继承 Animal
 */
public class Dog extends AnimalAbstract {

    /**
     * Dog ?? 具体的叫 行为
     */
    @Override
    public void cry() {
        System.out.println("狗??汪汪汪....");
    }
}

 

main测试方法 让具体的 动物去做事情:

package android.java.oop17;

public class Test {

    public static void main(String[] args) {

        /**
         * 举例:快看快听 那个狗??在叫
         */
        new Dog().cry();

        /**
         * 举例:快看快听 那个猫??在叫
         */
        new Cat().cry();

        /**
         * 举例:快看快听 那个牛??在叫
         */
        new Cattle().cry();

    }

}

 

执行结果:

技术图片

 

 

  

Android-Java-抽象类

标签:tabs   col   abstract   package   oop   anim   静态方法   java   ora   

原文地址:https://www.cnblogs.com/android-deli/p/10352880.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!