java抽象类和抽象方法

首先应该明确一点的是,抽象方法必须定义在抽象类中。

先看一个抽象类的定义:

public abstract class Animal {

    public abstract void eat();
    
    public abstract void sleep();
    
    public void Smile()
    {
        System.out.println("每个动物都会微笑,因为最美!");
    }

}

抽象类作为一个父类,可以定义抽象方法,也可以定义一般方法。

我们在来定义一个子类:

public class Man extends Animal{

    public void eat()
    {
        System.out.println("一天天就知道个吃");
    }
    
    public void sleep() 
    {
        System.out.println("就知道个睡");
    }
    
    public static void main(String[] args)
    {
        Man obj=new Man();
        obj.eat();
        obj.sleep();
        obj.Smile();
    }
}

子类Man继承了抽象类,那么就必须将其抽象方法实现,是必须,必须,不然就会报错。

 

 

抽象类和接口的区别:

子类继承了抽象类,抽象方法必须实现,然而其他其他方法可以不实现,抽象方法中也可以定义不是抽象的方法

子类实现接口,接口中默认的方法都为抽象方法,也就不能实现,一个子类可以实现多个接口,而只能继承一个抽象类,其实接口是抽象类中更为具体的一种类而言。

public interface TrafficTool {

    void Car();
    
    void Airport();
    
    void Train();

}

public class LandTool implements TrafficTool {

    public void Car()
    {
        System.out.println("走,咋们炸汽车去");
    }
    
    public void Airport()
    {
        System.out.println("走,咋们炸飞机去");
    }
    
    public void Train()
    {
        System.out.println("抢火车去不去,愣货");
    }
    
    public static void main(String[] args)
    {
        LandTool obj=new LandTool();
        obj.Car();
        obj.Airport();
        obj.Train();
    }
}

 补充接口,接口不允许任何方法定义,接口和实现完美分离。

 

posted @ 2019-03-06 16:54  彩色的梦  阅读(963)  评论(0编辑  收藏  举报