或许你说明你这样的目的会更容易让人理解。你想验证什么? public Class A { public void speak() { System.out.println("HelloWordA"); B b = new B(); b.speak(); } }public Class B { public void speak() { System.out.println("HelloWordB"); } }
import java.util.List;public class Lecture { private List<String> users; //演讲人列表
public Class A
{
public void speak()
{
System.out.println("HelloWordA");
B b = new B();
b.speak();
}
}public Class B
{
public void speak()
{
System.out.println("HelloWordB");
}
}
{
private List<String> users; //演讲人列表
public static void main(String[] args)
{
Lecture lecture=new Lecture();
lecture.initUser();
lecture.speak(lecture.randomUser());
}
/**
* 根据演讲者名称生成演讲内容
* @param name 演讲者名称
*/
public void speak(String name)
{
System.out.println(name+" say: "+"Hello world");
}
/**
* 获得随机的一个演讲者
* @return 随机的演讲者名称
*/
public String randomUser()
{
int num=((int)(Math.random()*1000))%users.size();
return users.get(num);
}
/**
* 初始化演讲者列表
*
*/
public void initUser()
{
users=new ArrayList<String>();
users.add("a");
users.add("b");
users.add("c");
users.add("d");
users.add("e");
}}
接口:package ISyaHi;public interface ISayHi {
public String SayHi(String name);
}实现类:package SayHiImp;import ISyaHi.ISayHi;public class SayHiEnImp implements ISayHi {
public SayHiEnImp()
{
} public String SayHi(String name) {
return "Hello! "+name.toUpperCase()+" This JAVA Word!";
}package SayHiImp;import ISyaHi.ISayHi;public class SayHiZhImp implements ISayHi {
public SayHiZhImp()
{
}
public String SayHi(String name) {
return "你好! "+name.toUpperCase()+" 这是JAVA世界!";
}}控制类:package SayHiController;import ISyaHi.ISayHi;
import XMLPrass.XmlPrass;public class Controller {
private ISayHi iSatHi;
private XmlPrass xmlPrass;
public Controller ()
{
try{
xmlPrass=XmlPrass.newInstance();
if(xmlPrass.sax().equals("ZH")){
iSatHi=(ISayHi)Class.forName("SayHiImp.SayHiZhImp").newInstance();
}else{
iSatHi=(ISayHi)Class.forName("SayHiImp.SayHiEnImp").newInstance();
}
}catch(Exception e){
System.out.println(e);
}
}
public ISayHi getSayHi()
{
return iSatHi;
}
}XML解析类:package XMLPrass;
import java.io.File;import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;public class XmlPrass {
private static XmlPrass xmlPrass=null;
private XmlPrass(){}
public String sax() {
String result="";
try{
DocumentBuilderFactory builderFactory=DocumentBuilderFactory.newInstance();
DocumentBuilder builder=builderFactory.newDocumentBuilder();
Document document=builder.parse(new File("src/MyXml.xml"));
Element element=document.getDocumentElement();
NodeList nl=element.getElementsByTagName("say-configuation");
result=nl.item(0).getAttributes().getNamedItem("src").getTextContent();
}catch(Exception e){
System.out.println(e);
}
return result;
}
public static XmlPrass newInstance(){
if(xmlPrass==null){
xmlPrass=new XmlPrass();
}
return xmlPrass;
}
}测试类:package SayHiMain;import SayHiController.Controller;public class SayHi { /**
* @param args
*/
public static void main(String[] args) {
Controller controller=new Controller();
System.out.println(controller.getSayHi().SayHi("jack"));
}
}MyXml.xml<?xml version="1.0" encoding="UTF-8"?>
<say>
<say-configuation src="EN"/>
<say-class name="ZH" class="SayHiImp.SayHiZhImp" />
<say-class name="EN" class="SayHiImp.SayHiEnImp" />
</say>
{
public static void main(String[] args) {
Speaker s = new Speaker("Lao Wang");
s.speak();
}
}
yk
class Speaker
{
private String name;
Speaker(String name) {
this.name = name;
}
void speak() {
System.out.println("Hello World");
}
}