无法从外部程序包中对其进行访问 这是因为什么啊,代码在idea上运行过了的,但是在用jdk和记事本就这样子了


import examples.has.geom.Rectangle;
import examples.has.geom.Circle;
import examples.has.geom.Geometry;
public class Mainclass {
    public static void main(String[] args) {
        Rectangle rect1=new Rectangle(), rect2=new Rectangle();
        Circle circle1=new Circle(), circle2=new Circle();
        Geometry geometryOne,geometryTwo;
        geometryOne=new Geometry(rect1,circle1);
        geometryOne.setRectanglePosition(30,40);
        geometryOne.setRectangleWidthAndHeight(120,80);
        geometryOne.setCirclePosition(150,30);
        geometryOne.setCircleRadius(60);
        geometryTwo=new Geometry(rect2,circle2);
        geometryTwo.setRectanglePosition(160,160);
        geometryTwo.setRectangleWidthAndHeight(120,80);
        geometryTwo.setCirclePosition(40,30);
        geometryTwo.setCircleRadius(60);
        geometryOne.showState();
        geometryTwo.showState();
    }
}

img

img

你需要将 Geometry 的修饰符改成 public ,不然其他的类是无法new出一个 Geometry 对象出来的。