码迷,mamicode.com
首页 > 其他好文 > 详细

【3.26】抽象方法,接口

时间:2018-03-26 20:45:44      阅读:124      评论:0      收藏:0      [点我收藏+]

标签:并且   class   员工   注意事项   直接   测试   常量   经理   抽象   

  【2018-03-26 18:54:48】

抽象方法:

抽象方法的注意事项:必须声明在抽象类中,抽象方法没有方法体,只有方法的声明,需要用abstract关键字进行修饰。示例如下:

abstract void xxx();
public abstract class Vehicle {
    //行驶
    public abstract void run();
}

其次,抽象类中是可以声明普通方法的,例如:

public abstract class Vehicle {
    //行驶的行为
    public abstract void run();
    //抽象类中可以声明普通方法
    public void msg(){
        System.out.println("这是父类");
    }
}

声明抽象方法,就是为了让子类重写,并且抽象类不能够实例化,例如:

Demo.java
public
abstract class Demo { abstract void run(); }
Demo2.java
public class Demo2 extends Demo {
    @Override
    void run() {
    }
}

当Demo2继承Demo抽象类时,Demo2会自动重写父类Demo的run()方法。

另外,创建抽象类的对象,直接重写了抽象方法,抽象类是不能够直接创建对象的。

在计算薪水的方法的小Demo中,首先创建了员工Staff抽象类,并且类中有计算薪水的方法:pay(),在普通员工类、经理类、销售类继承了抽象类并重写了的pay()方法,在测试类中,抽象父类指向子类的对象,这也是多态的一种体现。

接口:

首先,接口不可以实例化,接口下可以声明属性。接口中的方法都是public abstract方法,没有方法体。实现类必须实现接口的所有方法,接口中的变量都是静态常量。

接口指向实现类的对象,也是多态的一种体现。示例:

Demo.java
public interface Demo {
    void face();
}
public class Demo2 implements Demo {
    @Override
    public void face() {
    }
}

在以上的示例中,Demo2.java为Demo.java接口的实现类。声明接口时,使用interface进行修饰。在实现类中,使用implements实现接口,并且重写父类的face()方法。

以下为接口的注意事项:

1.接口不能够创建对象

2.接口中的方法都是抽象方法

3.接口中的属性都是静态常量

4.实现类一次可以实现多个接口

5.一个实现类可以继承一个类的同时,实现多个接口,继承extends写在implements前面

6.接口之间可以实现多继承

A.java
public interface A {
    public void a();
    public void a1();
}

在A.java中,创建了一个接口,并且有a和a1两个属性。

B.java
public interface B extends A {
    public void b();
    public void b1();
}

在B.java中,接口B继承了接口A

D.java
public class D implements A, B, C {

    @Override
    public void b() {
    }

    @Override
    public void b1() {
    }

    @Override
    public void a() {
    }

    @Override
    public void a1() {
    }

}

在D.java中,同时实现了多个接口。

【3.26】抽象方法,接口

标签:并且   class   员工   注意事项   直接   测试   常量   经理   抽象   

原文地址:https://www.cnblogs.com/sonder/p/8653085.html

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