forumFactory.getProfileManager();
profileManager.createUser(username,password,email);
返回的是类,不是接口。
另外接口为什么不能赋值?
profileManager.createUser(username,password,email);
返回的是类,不是接口。
另外接口为什么不能赋值?
解决方案 »
- 问个jdom读取html的问题(深夜帮忙下吧)
- javax.naming.NameNotFoundException: [LDAP: error code 32 - No Such Object]; remaining name 'cn=denis
- 日文数据生成xml文件,用ie打不开,编码是UTF-8,为什么呀?代码如下
- 多级索引算法 急急急!!!!
- 关于“+=”操作符的问题
- 用java的applet调用delphi封装第三方动态库函数的exe文件出错,急!!!!!分不够再加
- 菜鸟问题 编译通不过?
- 關於serialVersionUID,,,有誰對這個東東有了解啊???
- 怎样把回车写入文件中?
- 关于异常的捕获?
- 菜鸟问题同样那高分!
- 各位:在java中向数据库insert的时候如何实现事务?
1:forumFactory.getProfileManager();
2:profileManager.createUser(username,password,email);
3:返回的是类,不是接口。
4:另外接口为什么不能赋值?
上面是你所说的地点,第一点返回的是ProfileManager接口,第二点返回的是User接口,第三点肯定就不成立了,第四点接口是能赋值,但我不理解在jive中给User.setName(),User.setEmail等有什么作用,请问是不是User.setName()完了以后再User.getName()取得吗?但我发现是取不了的,面向接口编程??请指点,谢谢!
你可以参考一些设计模式的文章,这里好像有过一篇专么介绍JIVE设计模式的:
http://www-900.ibm.com/developerWorks/cn/index.shtml
User是个interface, Dbuser是继承User的
你可能对接口不是很熟悉,Jive是用了很多GOF的设计模式,
你理解了设计模式就了解Jive的体系.
关于设计模式和Jive见我的主页
http://www.jdon.com
你就能得到你set进去的值了。像楼上说得,去看看patters的书吧。
从2.5版开始,jive开始接近一流forum水平,它的整个系统框架和
许多代码设计都是非常有研究价值的。
上面已经说了很多,在我看来,jive在操作数据库过程中,它创建的
对象虽然都是接口类,但是,在实例化的时候,使用的是实现类。也
就是DB*.class,比如上面的User.class,在定义对象后,接口类和
实现类同时进行实例化。然而,所有的操作数据库,都是在DB*.class
这些类的saveToDb(),loadFromDb()等方法中实现。呵呵,这么大个东东,要说清楚真是累。欢迎和我交流:
[email protected]以上只是我的一点使用心得,请指正。
public class B
{
public static void main(String[] args)
{
a obja=A1.geta();
obja.p("interface test");
}
}
////////////
public interface a
{
public void p(String str);
}////////////////
public class A1 implements a
{
private static A1 objA1;
public void p(String str)
{
System.out.println(str);
}
public static a geta()
{
objA1=new A1();
return objA1;
}
}
存为三个文件,然后编译!java B运行!
<-上面已经说了很多,在我看来,jive在操作数据库过程中,它创建的
对象虽然都是接口类,但是,在实例化的时候,使用的是实现类。也
就是DB*.class,比如上面的User.class,在定义对象后,接口类和
实现类同时进行实例化。然而,所有的操作数据库,都是在DB*.class
这些类的saveToDb(),loadFromDb()等方法中实现。
->
上面所说的接口类和实现类同时进行实例化在哪里体现呢?我看jive源代码的时候好想没有啊!就是直接从factory里得到一个接口,然后对接口进行设置,而具体类(DB*.class)根本就没有初始化啊!请指点!