我有这门课
package com.rafael;
public class Vehicle {
public class InnerVehicle {
InnerVehicle() {
System.out.println("This is InnerVehicle");
}
}
}
并在主函数中
import com.rafael.Vehicle;
public class VehicleTest {
public static void main(String[] args) {
Vehicle v = new Vehicle();
Vehicle.InnerVehicle iv = v.new InnerVehicle();
}
}
但这总是给我带来错误:
java: InnerVehicle() is not public in com.rafael.Vehicle.InnerVehicle; cannot be accessed from outside package
最佳答案
创建内部类public static
否则,您需要外部类的一个对象来创建内部类的实例,如 Tim Biegeleisen 已经提到的
并创建内部类的构造函数 public
也是
类似于:
public class Vehicle {
public static class InnerVehicle {
public InnerVehicle() {
System.out.println("This is InnerVehicle");
}
}
}
关于java - 实例化新内部类时,内部类不是公共(public)错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40070360/