Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/372.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 构造函数会话(字符串,int)不可见_Java - Fatal编程技术网

Java 构造函数会话(字符串,int)不可见

Java 构造函数会话(字符串,int)不可见,java,Java,我有一个jar,它包含一个类文件Session.class。我导入了我想要使用的所有jar和这个类。我的代码如下: public AgentInfo[] getInfo(){ try { session = new Session(host,port); } } 这里我得到了一个错误 The constructor Session(String,int) is not visible 这表明会话(String,int)构造函数不是公共的。例如,可以这样

我有一个jar,它包含一个类文件Session.class。我导入了我想要使用的所有jar和这个类。我的代码如下:

public AgentInfo[] getInfo(){
    try {   
        session = new Session(host,port);
    }
}
这里我得到了一个错误

 The constructor Session(String,int) is not visible

这表明
会话(String,int)
构造函数不是公共的。例如,可以这样声明:

Session(String host, int port)
而不是

public Session(String host, int port)
(当然,它可能是受保护的,甚至是最终的。)


如果您可以更改
会话
并愿意,则可以将构造函数公开。如果您无法更改它(例如,它是第三方类),您应该查看可用的构造函数,并检查返回
会话
、工厂类(例如
会话工厂
)的静态方法通常,文档是了解如何获得类实例的良好开端:)

这表明
会话(String,int)
构造函数不是公共的。例如,可以这样声明:

Session(String host, int port)
而不是

public Session(String host, int port)
(当然,它可能是受保护的,甚至是最终的。)


如果您可以更改
会话
并愿意,则可以将构造函数公开。如果您无法更改它(例如,它是第三方类),您应该查看可用的构造函数,并检查返回
会话
、工厂类(例如
会话工厂
)的静态方法通常,文档是了解如何获得类实例的一个良好开端:)

很可能构造函数是私有的或受保护的,或者只是包访问。您确定需要使用该类吗?可能有更适合的派生类(或者该类应该被扩展)

很可能构造函数是私有的或受保护的,或者只是包访问。您确定需要使用该类吗?可能有更适合的派生类(或者应该扩展该类)

构造函数可能不是公共的,如果您让源代码公开或使用其他构造函数。oor如果没有可见的构造函数,则有一些用于创建实例的工厂

构造函数可能不是公共的,如果您有源代码,则将其公开或使用其他构造函数。oor如果没有可见的构造函数,则有一些工厂用于创建实例

,因为您可以访问zip文件中的类文件,请在IDE中查看它或在其上运行
javap


有可能存在一个静态工厂方法返回该类或相关类中的某个会话对象。这在有多种类型的会话可用的情况下很常见。

由于您可以访问zip文件中的类文件,请在IDE中查看它或在其上运行
javap



有可能存在一个静态工厂方法返回该类或相关类中的某个会话对象。这在有多种类型的会话可用的情况下很常见。

@Mandakini:好的,最后一段适用-您将无法调用该构造函数,因此请确定您打算如何执行它。公共类会话{String{u host;int{u port;Socket{u Socket;boolean{u use\u unix}域;String{u udSocketFile;UnixDomainSocketClient{u udSocket;受保护会话(String paramString,int paramit)抛出错误信息{this.\u host=paramString;this.\u inStream=null;this.\u udSocket=null;this.\u udSocketFile=null;重试{this._user=System.getProperty(“user.name”);this._privdir=SearchPath.privpath(“”;}catch(AccessControlException localAccessControlException){this._user=”“;this._privdir=“;}@Manakini:好吧,这表明只有子类可以构造实例。如果你不把源代码作为注释发布,你可以让我们知道这是哪个库,这是我添加到我的库中的第三方jar。我正在导入它。我可以用什么方式使用受保护的类???@Mandakini:你必须e来创建一个子类——但很可能这不是正确的方法。再说一遍,这是一个我们可以查看的公共第三方库吗?应该有一些文档来解释如何使用它。@Mandakini:好的,最后一段是适用的——你将无法调用该构造函数,所以想想你打算如何使用它.public类会话{String{u host;int{u port;Socket{u Socket;boolean{u use\u unix\u domain;String{u udSocketFile;UnixDomainSocketClient}udSocket;受保护会话(String paramString,int paramInt)抛出错误信息{this.\u host=paramString;this.\u inStream=null;this.\u udSocket=null;this.\u udSocketFile=null;试试{this.\u user=System.getProperty(“user.name”);this.\u privdir=SearchPath.privpath(“”;}catch(AccessControlException localAccessControlException){this.\u user=“”;这个。_privdir=“;}}@Manakini:好吧,这表明只有子类可以构造实例。如果你不把源代码作为注释发布,你可以让我们知道这是哪个库,这是我添加到我的库中的第三方jar。我正在导入它。我可以用什么方式使用受保护的类???@Mandakini:你必须e创建一个子类-但很可能这不是正确的方法。再说一次,这是一个公共的第三方库,我们可以看看吗?应该有一些文档说明如何使用它。我不能更改会话定义,它是第三方的。类文件我不能更改会话定义,它是第三方的。类文件文件我不能更改会话定义,它是第三方的。类文件这就是为什么我问你,为什么你需要它?为什么你不检查派生类,或者这个东西只是内部使用的,你根本不需要它!!我不能更改会话定义,它是