BUG: astype(Int64) raises AttributeError
- [x] closes #22578
- [x] tests added / passed
- [x] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`


Hello @sinhrks! Thanks for submitting the PR.

 - There are no PEP8 issues in the file [`pandas/core/generic.py`](https://github.com/sinhrks/pandas/blob/a051349e1395aace2c24b758df0c172bf96959c2/pandas/core/generic.py) !

 - There are no PEP8 issues in the file [`pandas/core/internals/blocks.py`](https://github.com/sinhrks/pandas/blob/a051349e1395aace2c24b758df0c172bf96959c2/pandas/core/internals/blocks.py) !

 - There are no PEP8 issues in the file [`pandas/tests/frame/test_dtypes.py`](https://github.com/sinhrks/pandas/blob/a051349e1395aace2c24b758df0c172bf96959c2/pandas/tests/frame/test_dtypes.py) !

 looks good. can you add on the issue to the whatsnew for integer array (just add to the list), and rebase. Thx for the review. Updated and rebased. seems there is a lint error.
 # [Codecov](https://codecov.io/gh/pandas-dev/pandas/pull/22869?src=pr&el=h1) Report
> Merging [#22869](https://codecov.io/gh/pandas-dev/pandas/pull/22869?src=pr&el=desc) into [master](https://codecov.io/gh/pandas-dev/pandas/commit/f6da1f1ec3b68a9210be158a693ac389076fa179?src=pr&el=desc) will **not change** coverage.
> The diff coverage is `100%`.

[![Impacted file tree graph](https://codecov.io/gh/pandas-dev/pandas/pull/22869/graphs/tree.svg?width=650&token=eZ4WkYLtcO&height=150&src=pr)](https://codecov.io/gh/pandas-dev/pandas/pull/22869?src=pr&el=tree)

```diff
@@           Coverage Diff           @@
##           master   #22869   +/-   ##
=======================================
  Coverage   92.19%   92.19%           
=======================================
  Files         169      169           
  Lines       50911    50911           
=======================================
  Hits        46939    46939           
  Misses       3972     3972
```

| Flag | Coverage Δ | |
|---|---|---|
| #multiple | `90.61% <100%> (ø)` | :arrow_up: |
| #single | `42.3% <100%> (ø)` | :arrow_up: |

| [Impacted Files](https://codecov.io/gh/pandas-dev/pandas/pull/22869?src=pr&el=tree) | Coverage Δ | |
|---|---|---|
| [pandas/core/internals/blocks.py](https://codecov.io/gh/pandas-dev/pandas/pull/22869/diff?src=pr&el=tree#diff-cGFuZGFzL2NvcmUvaW50ZXJuYWxzL2Jsb2Nrcy5weQ==) | `93.48% <ø> (ø)` | :arrow_up: |
| [pandas/core/generic.py](https://codecov.io/gh/pandas-dev/pandas/pull/22869/diff?src=pr&el=tree#diff-cGFuZGFzL2NvcmUvZ2VuZXJpYy5weQ==) | `96.65% <100%> (ø)` | :arrow_up: |

------

[Continue to review full report at Codecov](https://codecov.io/gh/pandas-dev/pandas/pull/22869?src=pr&el=continue).
> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta)
> `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
> Powered by [Codecov](https://codecov.io/gh/pandas-dev/pandas/pull/22869?src=pr&el=footer). Last update [f6da1f1...cb849ca](https://codecov.io/gh/pandas-dev/pandas/pull/22869?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).
 Sorry, fixed. thanks!