1. 程式人生 > >java.lang.NoSuchMethodException:建構函式失敗

java.lang.NoSuchMethodException:建構函式失敗

java.lang.NoSuchMethodException: com.tanke.pojo.TimeTankProxy.<init>(com.tanke.pojo.Tank)
    at java.lang.Class.getConstructor0(Class.java:2706)
    at java.lang.Class.getConstructor(Class.java:1657)

    at com.tanke.test.Main.main(Main.java:82)

URL[] urls = new URL[]{new URL("file:/"+System.getProperty("user.dir")+"/bin")};
            URLClassLoader ul = new URLClassLoader(urls);
            Class c = ul.loadClass("com.tanke.pojo.TimeTankProxy");//將class載入到記憶體
            System.out.println(c.getName());
//            c.newInstance();//這種是生成無參的建構函式物件
//            Constructor ctr = c.getConstructor(Tank.class

);//這種寫法錯誤,即使Tank implements Moveable,也不可以。
            Constructor ctr = c.getConstructor(Moveable.class);//構造方法,Moveable.class為引數型別
            //載入成一個類物件
            Moveable m = (Moveable) ctr.newInstance(new Tank());
            m.move();
//            ClassLoader cl = ClassLoader.getSystemClassLoader();
//            System.out.println(cl.toString());

在下面的TimeTankProxy中的建構函式的引數Moveable型別的,那麼生成Constructor時,傳的引數也一定要是Moveable.class。不能是它的繼承類或實現類。

package com.tanke.pojo;
import com.tanke.inter.Moveable;
public class TimeTankProxy implements Moveable {
    private Moveable t;
    public TimeTankProxy(Moveable t){
        this.t  = t;
    }
    @Override
    public void move() {
        long start = System.currentTimeMillis();
        System.out.println("start time: " + start);
        t.move();
        long end = System.currentTimeMillis();
        System.out.println("end time : " + end);
        System.out.println("total time: " + (end - start));
    }
}

相關推薦

java.lang.NoSuchMethodException:建構函式失敗

java.lang.NoSuchMethodException: com.tanke.pojo.TimeTankProxy.<init>(com.tanke.pojo.Tank)     at java.lang.Class.getConstructor0(Cl

解決Caused by: java.lang.NoSuchMethodException: com.mchange.v2.c3p0.cfg.C3P0Config.<init>()的總結

exc nbsp alt change dex combo exception pri ima 引起:spring的dao層註入dataSource出現c3p0初始化異常. bug示圖: 源碼圖: 解決: 在填寫prope

java.lang.Exception: 資源處理失敗失敗原因:com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column '?????‰' in 'where clause'

exception 替換 div name jdbc unknown syn lan -s 1:Unknown column ‘?????‰‘ in ‘where clause‘,這個問題,百度一搜,挺多的,但是貌似好像沒有解決我的問題。貼一下我是如何拼接sq

出現java.lang.Exception: java.lang.RuntimeException: java.lang.NoSuchMethodException: com.web.visit.main.ClickVist$VisitMapper.<init>()的問題

圖片 init mapr img 內部類 div ava 執行 沒有 執行mapreduce報錯java.lang.Exception: java.lang.RuntimeException: java.lang.NoSuchMethodException: com.

java.lang.NoSuchMethodException: com.sun.proxy.$Proxy

eth AC nsa nal class dex 整合 成功 method 刪掉了@Transactional註解,結果成功了 是這個註解造成的。 是ssh2的整合強制我們使用分層架構。java.lang.NoSuchMethodException: com.sun.pro

Mybatis 報錯:java.lang.NoSuchMethodException: java.lang.Long.<init>()

使用者找角色時, 使用者mapper中使用association 關聯角色mapper 中的查詢.  使用者程式碼 package mybatis.simple.model; import java.io.Serializable; import java.util.

java.lang.NoSuchMethodException AccessibilityButtonController

Android Studio編譯版本assembleRelease可以通過,但是編譯assembleDebug總出錯,錯誤如下: Caused by: java.lang.NoSuchMethodException: no such method: android.accessibilityse

struts2的java lang NoSuchMethodException異常處理

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

java.lang.NoSuchMethodException: 實體類.<init>()

1 root cause 2 3 org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [com.hs.model.StudentModel]: No defa

AOP通過連線點獲取Method異常(java.lang.NoSuchMethodException

AOP通過連線點獲取Method異常 java.lang.NoSuchMethodException 問題 在用AOP做日誌的時候,出現了java.lang.NoSuchMethodException無法獲得Method的異常。 原方法 /** * 獲取日誌註解

java.lang.NoSuchMethodException:(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServl

          做Demo的過程中遇到如下錯誤: java.lang.NoSuchMethodException: com.nyist.web.servlet.ProductsServlet.findByPage(javax.s

java.lang.NoSuchMethodException: com.hry.store.vo.CategoryVo.(java.lang.Integer, java.lang.Int

之前在寫專案的時候都是使用的mybatis逆向工程來生成的mapper 和 mapper.xml 今天使用spring boot寫專案的時候,遇到了需要自己填寫的mapper。 錯誤: java.l

日常報錯: java.lang.NoSuchMethodException

net.sf.json.JSONException: java.lang.NoSuchMethodException: com.mongodb.bean.UserInfo$EducationEx.()

java.lang.NoSuchMethodException: tk.mybatis.mapper.provider.base.BaseSelectProvider.()

最近在學習SpringBoot時遇到了一個錯誤,報錯如下圖: 最終找到問題,引的包不對,不應該引入org.mybatis.spring.annotation.MapperScan; 應該引用的是 tk.mybatis.spring.annotation.Mappe

那些關於java lang NoSuchMethodException

                今天利用struts2做檔案上傳:可不知道為什麼,一直就是報以下異常/-- Encapsulated exception ------------\java.lang.NoSuchMethodException: org.soueasy.Behindaction.Resourc

java.lang.NoSuchMethodException: java.util.List.()

java.lang.NoSuchMethodException: java.util.List.() at java.lang.Class.getConstructor0(Unknown Source) ~[na:1.8.0_66] at java.lang.C

錯誤處理:java.lang.NoSuchMethodException: org.apache.catalina.deploy.WebXml addFilter

部署專案時,啟動Tomcat一直出錯:java.lang.NoSuchMethodException: org.apache.catalina.deploy.WebXml addFilterSEVERE: End event threw exception java.lang

Java之——java.lang.NoSuchMethodException: [org.springframework.web.multipart.MultipartFile;.()

轉自:https://blog.csdn.net/l1028386804/article/details/65449355 ava.lang.NoSuchMethodException: [org.springframework.web.multipart.MultipartFile;.<init&g

方法未找到異常java.lang.NoSuchMethodException的解決辦法

方法未找到異常java.lang.NoSuchMethodException的解決辦法 客戶端執行,IDE日誌丟擲如下異常: java.lang.NoSuchMethodException: com.dhf.entity.aam.pubcod.PubGzl.isXShzDmc() 遇

java無參建構函式(預設建構函式

java的子類在例項化的時候,會自動呼叫父類的無參建構函式(預設建構函式)。 舉例如下: 父類: public class P { public P() { System.out.print("父類 預設建構函式\n"); } } 子類: public cl