一个关于类调用的问题 java

图片说明

为什么Another这个类不能 用建立的对象调用变量i呢?
是因为不在方法内吗?

是的,明白类中有哪些元素,属性与方法;其他代码必须是写在方法中的

这段代码要写在方法中。

因为AllTheColorOfTheRainbow的属性都是包内的访问标识。只有它的子类和同一个包内的类能直接通过对象访问变量。
你的代码如果要这样访问的话,把Another类和AllTheColorOfTheRainbow类放在同一个包里面就可以了。

可以改成public 的

不过建议你提供public 的 set/get方法

不同类之间相互调用是需要传消息的,要不然直接当做方法写在第一个类里边呗

你需要去看看 public private protect 的区别

这个是访问修饰符的问题,第一个类的属性用的是默认修饰符,只有在同一个包中的类可以访问。解决方法两种:1在第一个类中写一个public方法来为该属性赋值2最简单的就是把该属性前面加public

在属性前加public