解决“ Cannot be accessed from outside package”

我的解决

@Data

 @Data :注解在类上;提供类所有属性的 getting 和 setting 方法,此外还提供了equals、canEqual、hashCode、toString 方法

@AllArgsConstructor

@AllArgsConstructor 是lombok中的注解,作用在类上;
使用后添加一个构造函数,该构造函数含有所有已声明字段属性参数;会生成一个包含所有变量的构造方法,默认生成的方法是 public 的

@NoArgsConstructor

@NoArgsConstructor在类上使用,这个注解可以生成无参构造方法

其他常用

@Setter:注解在属性上;为属性提供 setting 方法
@Getter:注解在属性上;为属性提供 getting 方法
@Log4j :注解在类上;为类提供一个 属性名为log 的 log4j 日志对象

  • 6
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
"cannotbeaccessedfromoutsidepackage" 的意思是该代码无法从包外部访问。在Java中,如果一个类或者类中的成员被声明为"package-private",那么它们只能在同一个包内被访问,而不能被其他包中的代码访问。如果你想要在不同的包中访问该类或成员,可以将其声明为public。这个错误意味着你正在尝试访问一个位于不同包(package)中的类、方法或属性,而这个类、方法或属性没有被声明为公共(public)的。在 Java 中,默认情况下,如果你不在同一个包中,就无法访问不公共的类、方法或属性。 要解决这个问题,你可以将要访问的类、方法或属性声明为公共的(public),或者将使用它们的类与它们放在同一个包中。如果你不想将这些类、方法或属性声明为公共的,也可以使用 Java 的访问修饰符(access modifier)来控制对它们的访问权限。例如,可以将它们声明为受保护的(protected)或默认的(default),这样就只能在同一个包或子类中访问它们。 下面是一个示例代码,其中类A和类B位于不同的包中,且类A中的方法foo()是受保护的: ``` package com.example.package1; public class A { protected void foo() { System.out.println("foo"); } } ``` ``` package com.example.package2; import com.example.package1.A; public class B { public static void main(String[] args) { A a = new A(); a.foo(); // 编译错误:'foo()' 在 'com.example.package1.A' 中是受保护的 } } ``` 在这个示例中,由于方法foo()是受保护的,类B无法访问它。要解决这个问题,你可以将方法foo()声明为公共的,或者将类B放在与类A相同的包中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值