gpt4 book ai didi

java - 无法访问 Java 类异常 - 访问说明符限制

转载 作者:太空宇宙 更新时间:2023-11-04 14:29:10 25 4
gpt4 key购买 nike

# EvenDriver.java
package com.EventDrivenScenario.SystemElements;

import com.EventDrivenScenario.Exceptions.TableFullException;
import java.util.Random;

public class Table {
static final int TABLE_SIZE = 6;
static int tableCurrentSize;
Table(){
}
public static void main(String args[]){
Random eventTrigger = new Random();
while(true){
try {
if(eventTrigger.nextLong()%2 == 0){
new HumanBeing();
}
if (tableCurrentSize == TABLE_SIZE) {
throw new TableFullException();
}
} catch(TableFullException e) {
System.out.println(e.getMessage());
break;
}
}
}
}

class HumanBeing{
HumanBeing(){
new Chairs();
}
}

class Chairs{
Chairs(){
Table.tableCurrentSize++;
}
}
# TableFullException
package com.EventDrivenScenario.Exceptions;
public class TableFullException extends Exception{
TableFullException(){

}
public String getMessage() {
return ("Table Full - No More Visitors");
}
}

在上面的代码中,当我尝试编译 #EventDriver.java 时,我收到编译时错误,表明 TableFullException 不是公共(public)的,尽管将其声明为公共(public),但无法在包外部访问。

但是如果我将两个文件中的 package 语句更改为 ##package com.EventDriver;## 它工作正常。我只是想了解为什么上面的代码会抛出编译时错误,尽管为 TableFullException 提供了公共(public)访问说明符。

最佳答案

您的 TableFullException 构造函数不是公共(public)的,因此您无法从不属于同一包的类创建该异常的实例。将构造函数公开,您的问题就会得到解决。

关于java - 无法访问 Java 类异常 - 访问说明符限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26345965/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com