程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> J2SE >> J2SE綜合:關於private構造函數(2)

J2SE綜合:關於private構造函數(2)

編輯:J2SE

在這個類中,用到了私有構造函數,如粗體部分.
 
我的調用類:
 
package zy.pro.td.plugin;
 /*
 * Created on Oct 4, 2004
 *
 * To change the template for this generated file go to
 * Window>Preferences>Java>Code Generation>Code and Comments
 */
 import Javax.servlet.ServletException;
 import org.apache.struts.action.ActionServlet;
 import org.apache.struts.action.PlugIn;
 import org.apache.struts.config.ModuleConfig;
 import Javax.naming.Context;
 import Javax.naming.InitialContext;
 import zy.pro.td.util.HibernateSessionFactory;
 /**
 * @author sunil
 *
 *  This class will initialize hibernate and bind SessionFactory in JNDI at the
 *  time of application and startup and unbind it from JNDI at the time of application
 * shutdown
 */
 public class HibernatePlugin
 implements PlugIn {
 private static final String jndi_hibernate = "jndi_hibernate_factory";
 private  HibernateSessionFactory hsf;
 private String name;
 public HibernatePlugin() {
 hsf=new HibernateSessionFactory();
 }
 // This method will be called at the time of application shutdown
 public void destroy() {
 System.out.println("Entering HibernatePlugIn.destroy()");
 //Put hibernate cleanup code here
 System.out.println("Exiting HibernatePlugIn.destroy()");
 }
 //This method will be called at the time of application startup
 public void init(ActionServlet actionServlet, ModuleConfig config) throws
 ServletException {
 System.out.println("Entering HibernatePlugIn.init()");
 System.out.println("Value of init parameter " + getName());
 //Uncomment next two lines if you want to throw UnavailableException from your servlet
 //    if(true)
 //      throw new ServletException("Error configuring HibernatePlugIn");
 System.out.println("Exiting HibernatePlugIn.init()");
 }
 private void bindFactoryToJNDI() {
 try {
 Context ctx = new InitialContext();
 }
 catch (Exception e) {
 e.printStackTrace();
 }
 }
 public String getName() {
 return name;
 }
 public void setName(String string) {
 name = string;
 }
 }
 
在調用類中,我創建了一個HibernateSessionFactory的對象,但是在初始化時,卻出了問題.總提示說:
 
HibernateSessionFactory() has private Access in zy.pro.td.util.HibernateSessionFactory at line 35(35:9)
 
然後,我就將HibernateSessionFactory的構造函數由private改成了public,調試通過.
 
構造函數為私有,就不能創建該類的對象.

本文來自編程入門網:http://www.bianceng.cn/Programming/Java/201107/27860_2.htm

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved