public object の使い方


public object User （class Objectでしょうか？）の

fun addBookmark(identifier: Int) メソッドを実行したいのですが、  
エラーが出てしまいます。

[code]

    int aaa = 1111111;
    User.addBookmark(aaa);
    
[/code]

non static method addBookmark(int) cannot be referenced from a static context

解決方法を教えてください。




『non static method addBookmark(int) cannot be referenced from a static
context』  
こちらは英文の通り、「非staticメソッドであるaddBookmark(int)はstatic参照できない」というエラーです。  
非staticメソッドはインスタンスから呼び出さなくてはならないため、

[code]

    User.addBookmark(aaa);
    
[/code]

のように「クラス名.メソッド名」の記述では上記のエラーが発生します。  
まずはUserクラスのインスタンスを作成し、作成したインスタンスからaddBookmark()メソッドを実行してください。

[code]

    User user1 = new User();
    user1.addBookmark(aaa);
    
[/code]

なお、staticメソッド／非staticメソッドの違いは長くなるため言及しませんが、今回の問題を解決するためには(さらにはJavaを扱う上で)必須となる知識ですので、その点の理解が不足しているようでしたらご自身で調べてみてください。




『non static method addBookmark(int) cannot be referenced from a static
context』  
こちらは英文の通り、「非staticメソッドであるaddBookmark(int)はstatic参照できない」というエラーです。  
非staticメソッドはインスタンスから呼び出さなくてはならないため、

[code]

    User.addBookmark(aaa);
    
[/code]

のように「クラス名.メソッド名」の記述では上記のエラーが発生します。  
まずはUserクラスのインスタンスを作成し、作成したインスタンスからaddBookmark()メソッドを実行してください。

[code]

    User user1 = new User();
    user1.addBookmark(aaa);
    
[/code]

なお、staticメソッド／非staticメソッドの違いは長くなるため言及しませんが、今回の問題を解決するためには(さらにはJavaを扱う上で)必須となる知識ですので、その点の理解が不足しているようでしたらご自身で調べてみてください。

