【Android】Non-static method 'XXXX' cannot be referenced from a static context

ネコニウム研究所

PCを利用したモノづくりに関連する情報や超個人的なナレッジを掲載するブログ

【Android】Non-static method 'XXXX' cannot be referenced from a static context

2022-10-17 | ,

AndroidでNon-static method 'XXXX' cannot be referenced from a static contextとエラー出力されるのをなんとかしたい!

概要

今回の記事では、AndroidでNon-static method 'XXXX' cannot be referenced from a static contextとエラー出力される原因と対応手順を掲載する。

仕様書

環境

  • Android Studio Dolphin 2021.3.1 Patch1
  • Java 1.8(8)

原因

このエラーの原因は、スタティックなメゾットを呼び出そうとしたけど、呼び出せない状況にあることにある。

手順書

呼び出せない状況はいろいろあるんだけども、単純に下記のサンプルのようなタイプミスの場合が多いのではないかと思う。

private class Item
{
    private String name;

    public String getName()
    {
        return name;
    }
}

public void main()
{
    Item item = new Item();

    // インスタンス名を誤ってアッパーキャメルケースで入力してしまってる
    String str = Item.getName();

    return;
}

インスタンス名をローワーキャメルケースにしたクラス名にすることが多いと思うんだけども、コメントにあるように間違ってアッパーキャメルケースで入力してしまうとスタティックなメゾットを指定することになり、このエラーが発生する。

private class Item
{
    private String name;

    public String getName()
    {
        return name;
    }
}

public void main()
{
    Item item = new Item();

    // 正しいインスタンス名を入力する
    String str = item.getName();

    return;
}

正しいインスタンス名を入力する。

まとめ(感想文)

う、うっかりミス。