GVKun编程网logo

NullPointerException:在派生类中重写基类的构造方法调用方法(在派生类中重写基类方法必须使用override)

22

如果您想了解NullPointerException:在派生类中重写基类的构造方法调用方法和在派生类中重写基类方法必须使用override的知识,那么本篇文章将是您的不二之选。我们将深入剖析NullP

如果您想了解NullPointerException:在派生类中重写基类的构造方法调用方法在派生类中重写基类方法必须使用override的知识,那么本篇文章将是您的不二之选。我们将深入剖析NullPointerException:在派生类中重写基类的构造方法调用方法的各个方面,并为您解答在派生类中重写基类方法必须使用override的疑在这篇文章中,我们将为您介绍NullPointerException:在派生类中重写基类的构造方法调用方法的相关知识,同时也会详细的解释在派生类中重写基类方法必须使用override的运用方法,并给出实际的案例分析,希望能帮助到您!

本文目录一览:

NullPointerException:在派生类中重写基类的构造方法调用方法(在派生类中重写基类方法必须使用override)

NullPointerException:在派生类中重写基类的构造方法调用方法(在派生类中重写基类方法必须使用override)

我有以下代码片段:

class Base {
    public Base() {
        method();
    }

    void method() {
        System.out.println("In Base");
    }
}

class Derived extends Base {
    private String bar;

    public Derived() {
        bar="bar";
    }

    public void method() {
        System.out.println(bar.length());
    }

    public static void main(String[] args) {
        Base base=new Derived();
        base.method();
    }
}

执行代码时出现异常:

Exception in thread "main" java.lang.NullPointerException
    at Derived.method(Main.java:22)
    at Base.<init>(Main.java:5)
    at Derived.<init>(Main.java:17)
    at Derived.main(Main.java:27)

我不明白为什么会有NullPointerExceptionstackTrace例外。有人可以帮助我理解吗?

您可以在此处检查代码。

Android sdk:java.lang.NullPointerException:尝试调用虚方法

Android sdk:java.lang.NullPointerException:尝试调用虚方法

当我尝试在我的设备上调试应用程序并尝试在几个小时内摆脱它时,我收到此错误…并且无法弄清楚…如果有人能找到解决方案,那将是非常棒的,因为我想要尽快为我的应用发布新的更新..
07-05 22:45:02.550    2821-2821/davvarn.csgo_maps E/AndroidRuntime﹕ FATAL EXCEPTION: main
    Process: davvarn.csgo_maps,PID: 2821
    java.lang.RuntimeException: Unable to start activity ComponentInfo{davvarn.csgo_maps/davvarn.csgo_maps.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.ImageView.setimageDrawable(android.graphics.drawable.Drawable)' on a null object reference
            at android.app.ActivityThread.performlaunchActivity(ActivityThread.java:2356)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2418)
            at android.app.ActivityThread.access$900(ActivityThread.java:154)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1321)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:135)
            at android.app.ActivityThread.main(ActivityThread.java:5289)
            at java.lang.reflect.Method.invoke(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:372)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:904)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:699)
     Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.ImageView.setimageDrawable(android.graphics.drawable.Drawable)' on a null object reference
            at davvarn.csgo_maps.MainActivity.changeContent(MainActivity.java:176)
            at davvarn.csgo_maps.MainActivity.onCreate(MainActivity.java:115)
            at android.app.Activity.performCreate(Activity.java:5990)
            at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106)
            at android.app.ActivityThread.performlaunchActivity(ActivityThread.java:2309)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2418)
at android.app.ActivityThread.access$900(ActivityThread.java:154)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1321)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5289)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:904)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:699)

我真的不知道如何粘贴MainActivity文件,因为我是Stackoverflow的新手.请让我知道如何,我会尝试.

解决方法

确保已初始化图像视图并使用XML中定义的正确ID.您可以像这样初始化ImageView:

ImageView imageView =(ImageView)findViewById(R.id.yourImageViewIDHere);

在onCreate调用setContentView之后,请执行此操作.

android – 方法调用可能会产生java NullpointerException

android – 方法调用可能会产生java NullpointerException

我有一个代码:
public String getNameUpdateEvent(long id) {
    Cursor mCursor =
            db.rawQuery("select name from events WHERE _id=" + id + ";",null);
    if (mCursor != null) {
        mCursor.movetoFirst();
    }
    String updateNameEvent;
    updateNameEvent = mCursor.getString(mCursor.getColumnIndex("name"));
    return updateNameEvent;
}

我得到一个警告

Warning:(173,45) Method invocation 'mCursor.getColumnIndex("name")' may produce 'java.lang.NullPointerException'

我可以修复它吗?

解决方法

你的光标不能为null,它将始终有任何值.但是光标可以是空的,所以你应该首先使用movetoFirst()方法去游标中的第一行,如果它返回true,这意味着该游标至少有一行,所以你可以用它来完成所有的操作,如果它返回false – 这意味着您的查询没有任何内容,因此您没有任何行可以获取数据.你的代码应该是这样的:
public String getNameUpdateEvent(long id) {
    Cursor mCursor =
        db.rawQuery("select name from events WHERE _id=" + id + ";",null);

    String updateNameEvent = null;
    if (mCursor != null && mCursor.movetoFirst()) {
        updateNameEvent = mCursor.getString(mCursor.getColumnIndex("name"));
    }
    return updateNameEvent;
}

android – 来自Parcel.readException的NullPointerException(等)

android – 来自Parcel.readException的NullPointerException(等)

看起来像这样的例外令人困惑:
FATAL EXCEPTION: main
java.lang.NullPointerException
    at android.os.Parcel.readException(Parcel.java:1437)
    at android.os.Parcel.readException(Parcel.java:1385)
    at com.yourpackage.ipc.IYourClass$Stub$Proxy.yourMethod(IYourClass.java:488)
    at com.yourpackage.ipc.YourClassShim.yourMethod(YourClassShim.java:269)

我找到了一堆相关的问题,但没有一个回答“你如何调试这个”.所以我正在提出这个问题/答案.

通过查看android源码here和here,你会发现它可以抛出任何这些(NullPointerException就是我所拥有的):

SecurityException(msg);
BadParcelableException(msg);
IllegalArgumentException(msg);
NullPointerException(msg);
IllegalStateException(msg);
RuntimeException("UnkNown exception code: " + code + " msg " + msg);

但究竟是什么导致了这些?

解决方法

这里发生的是readException()正在检查IPC字节流中是否有一个标题,表明发生了异常;如果它找到一个,那么它会抛出该类型的新异常,并使用相同的消息,但是缺少原始堆栈跟踪. (它实际上只知道一些异常类型;其他任何东西都被转换为基本的RuntimeException.)

那么最初的例外来自哪里?好吧,在YourClass.yourMethod()的实际实现的某个地方 – 不在任何parcelable或IPC代码中.所以去那里,将整个方法包装在try / catch中,并记录你抓到的任何内容.

(或者如果你有远程进程断点工作,那么在那里设置一个断点.)

Exception in thread

Exception in thread "main" java.lang.NullPointerException

hadoop-1.2.1+nutch-1.3

Exception in thread "main" java.lang.NullPointerException
    at org.apache.nutch.fetcher.FetcherOutputFormat.checkOutputSpecs(FetcherOutputFormat.java:49)
    at org.apache.hadoop.mapred.JobClient$2.run(JobClient.java:975)
    at org.apache.hadoop.mapred.JobClient$2.run(JobClient.java:936)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.security.auth.Subject.doAs(Subject.java:415)
    at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1190)
    at org.apache.hadoop.mapred.JobClient.submitJobInternal(JobClient.java:936)
    at org.apache.hadoop.mapred.JobClient.submitJob(JobClient.java:910)
    at org.apache.hadoop.mapred.JobClient.runJob(JobClient.java:1353)
    at org.apache.nutch.fetcher.Fetcher.fetch(Fetcher.java:1107)
    at org.apache.nutch.crawl.Crawl.run(Crawl.java:135)
    at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65)
    at org.apache.nutch.crawl.Crawl.main(Crawl.java:54)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.apache.hadoop.util.RunJar.main(RunJar.java:160)

nutch-site.xml

<configuration>
   <property>
    <name>http.agent.name</name>
     <value>My Nutch Spider</value>
     </property>
<property>
    <name>http.robots.agents</name>
         <value>My Nutch Spider,*</value>
 </property>
</configuration>

今天关于NullPointerException:在派生类中重写基类的构造方法调用方法在派生类中重写基类方法必须使用override的介绍到此结束,谢谢您的阅读,有关Android sdk:java.lang.NullPointerException:尝试调用虚方法、android – 方法调用可能会产生java NullpointerException、android – 来自Parcel.readException的NullPointerException(等)、Exception in thread "main" java.lang.NullPointerException等更多相关知识的信息可以在本站进行查询。

本文标签: