我有两个类,T2放于当前目录下的study中;Hello放于当前目录
这样编译 Hello通不过,但可以T2可以
---> Hello肯定编译通不过,因为T2的构造方法不是public的,而Hello类和T2类不在同一个包中,故不能访问T2的构造方法。但是先剪切T2的部分,然后编译就可以通过,运行也正常
--> 这时T2会有个默认的public构造方法,所以编译能通过。然后再还原T2,单独编译T2
运行java Hello.这样就可以调用构造函数了;输出T2 be constructed
--> 此时你没有再编译Hello.java,那么还是执行上次编译的Hello.class,它在执行到new T2()的时候,自然去找T2.class,而此时T2.class是你剪切回来后正确编译的,因此会输出T2 be constructed
这样编译 Hello通不过,但可以T2可以
---> Hello肯定编译通不过,因为T2的构造方法不是public的,而Hello类和T2类不在同一个包中,故不能访问T2的构造方法。但是先剪切T2的部分,然后编译就可以通过,运行也正常
--> 这时T2会有个默认的public构造方法,所以编译能通过。然后再还原T2,单独编译T2
运行java Hello.这样就可以调用构造函数了;输出T2 be constructed
--> 此时你没有再编译Hello.java,那么还是执行上次编译的Hello.class,它在执行到new T2()的时候,自然去找T2.class,而此时T2.class是你剪切回来后正确编译的,因此会输出T2 be constructed
解决方案 »
- 用ssh做一个向数据库中存储前台数据时出现了以下异常,哪位大神帮忙解答以下
- Javascript Ajax 如何读取List的值
- 并发问题:一条记录双击打开为编辑状态,另一个人不允许删除
- jsp页面session检查
- 请高手帮忙,JMS在接收到消息后如何向用户进行提示
- 请教各位专家,JavaSE中有哪些部分在J2EE与各种框架中使用的最多。
- JDBC--这段修改语句显示执行成功,但是数据库的数据并没有改变,求指教
- JSP中调用EJB的问题---------
- 我想在Jbuider8 里配置Jboss 怎么办????
- Maven3 用什么服务器才能实现热部署? 有什么比较好的文章不?
- weblogic.jdbc.mssqlserver4.Driver安装
- 高分求助??不够再加;ejb.................
我试过,但是为什么在T2(){} 前面加个public 就是public的构造方法---------加个public void 就是T2 内的一个T2()函数?????
编译器是不能找到friendly T()的,而它生成的代码却能??!!!!!????
----------------------------------------
然后再还原T2,单独编译T2
运行java Hello.这样就可以调用构造函数了;输出T2 be constructed
--> 此时你没有再编译Hello.java,那么还是执行上次编译的Hello.class,它在执行到new T2()的时候,自然去找T2.class,而此时T2.class是你剪切回来后正确编译的,因此会输出T2 be constructed
----------------------------------------
请问为什么 ? T2被还原了,在new T2()的时候为什么还能访问他的构造方法? 另外我试过了,即使把构造方法换成private也可以用,为什么 如果那样的话,单例模式不是可以被非法或取对象了吗
OK?
例如,你先将一个类定义公有的,在其他类中使用!然后再将该类定义成私有的,重新编译该类!
注意,只编译该类,再运行其他类的话,OK!
看看 TIJ 2啊,里面有说的!
构造函数不能加返回值,不等于返回 void 。