反射和SPI
大纲
#mermaid-svg-5X9DWQ9PQabJxOSd {font-family:\"trebuchet ms\",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-5X9DWQ9PQabJxOSd .error-icon{fill:#552222;}#mermaid-svg-5X9DWQ9PQabJxOSd .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-5X9DWQ9PQabJxOSd .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-5X9DWQ9PQabJxOSd .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-5X9DWQ9PQabJxOSd .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-5X9DWQ9PQabJxOSd .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-5X9DWQ9PQabJxOSd .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-5X9DWQ9PQabJxOSd .marker{fill:#333333;stroke:#333333;}#mermaid-svg-5X9DWQ9PQabJxOSd .marker.cross{stroke:#333333;}#mermaid-svg-5X9DWQ9PQabJxOSd svg{font-family:\"trebuchet ms\",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-5X9DWQ9PQabJxOSd .label{font-family:\"trebuchet ms\",verdana,arial,sans-serif;color:#333;}#mermaid-svg-5X9DWQ9PQabJxOSd .cluster-label text{fill:#333;}#mermaid-svg-5X9DWQ9PQabJxOSd .cluster-label span{color:#333;}#mermaid-svg-5X9DWQ9PQabJxOSd .label text,#mermaid-svg-5X9DWQ9PQabJxOSd span{fill:#333;color:#333;}#mermaid-svg-5X9DWQ9PQabJxOSd .node rect,#mermaid-svg-5X9DWQ9PQabJxOSd .node circle,#mermaid-svg-5X9DWQ9PQabJxOSd .node ellipse,#mermaid-svg-5X9DWQ9PQabJxOSd .node polygon,#mermaid-svg-5X9DWQ9PQabJxOSd .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-5X9DWQ9PQabJxOSd .node .label{text-align:center;}#mermaid-svg-5X9DWQ9PQabJxOSd .node.clickable{cursor:pointer;}#mermaid-svg-5X9DWQ9PQabJxOSd .arrowheadPath{fill:#333333;}#mermaid-svg-5X9DWQ9PQabJxOSd .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-5X9DWQ9PQabJxOSd .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-5X9DWQ9PQabJxOSd .edgeLabel{background-color:#e8e8e8;text-align:center;}#mermaid-svg-5X9DWQ9PQabJxOSd .edgeLabel rect{opacity:0.5;background-color:#e8e8e8;fill:#e8e8e8;}#mermaid-svg-5X9DWQ9PQabJxOSd .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-5X9DWQ9PQabJxOSd .cluster text{fill:#333;}#mermaid-svg-5X9DWQ9PQabJxOSd .cluster span{color:#333;}#mermaid-svg-5X9DWQ9PQabJxOSd div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\"trebuchet ms\",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-5X9DWQ9PQabJxOSd :root{--mermaid-font-family:\"trebuchet ms\",verdana,arial,sans-serif;}反射和SPI反射SPI
反射
- 知道具体类的情况下可以使用:
Class alunderClass = TargetObject.class;
- 通过Class.forName()传入类的全部路径获取:
Class alunderClass = Class.forName(\"org.example.TargetObject\");
- 通过对象实例instance.getClass()获取:
TargetObject 0 = new TargetObject();Classs alunderClass = o.getClass();
- 通过类加载器xxxClassLoader.loadClass()传入类路径获取:
ClassLoader.getSystemClassLoader().loadClass();
SPI
更新ing