Based on this definitions i know what is an `abstract method` and an `abstract class`:

**abstract method**:

> 
> An abstract method is a method that is declared without an
>  implementation
> 
> 
> 

**abstract class**:

> 
> An abstract class is a class that is declared abstract—it may or may
>  not include abstract methods
> 
> 
> 

so, there are a lots of `abstract classes` and `abstract methods` in android

for example one of them is `ActionBar` class
and of its `abstract method` is `setSubtitle(int resId)`

Now, if you want set a subtitle for your activity do this:

```
getActionBar().setSubtitle(R.string.subtitle);

```

where `getActionBar` returns an ActionBar which has abstract methods. But how does it works when there is no implementation for `setSubtitle` method?