Java 受保护的属性和继承

Java 受保护的属性和继承,java,attributes,parameter-passing,Java,Attributes,Parameter Passing,我是Java新手,我不明白为什么在c3.Java中我在ref.x=1中出现错误。x被声明为受保护的属性,因此从c1继承的类的方法应该能够使用c1类型的任何对象的任何x。怎么会错呢? 这里的问题是该方法将C1对象作为参数。这意味着类不能更改其值。该方法不应有权访问对象的受保护属性。受保护只是意味着属性是继承的,它们只存在于继承的类的对象中。因此,由于C3继承自C1,C3将x作为受保护变量,但只能在类的方法中修改。由于C1作为参数传递给类C3中的方法,因此您不在类C1中,因此不能修改C1对象的x变量

我是Java新手,我不明白为什么在c3.Java中我在ref.x=1中出现错误。x被声明为受保护的属性,因此从c1继承的类的方法应该能够使用c1类型的任何对象的任何x。怎么会错呢?
这里的问题是该方法将C1对象作为参数。这意味着类不能更改其值。该方法不应有权访问对象的受保护属性。受保护只是意味着属性是继承的,它们只存在于继承的类的对象中。因此,由于C3继承自C1,C3将x作为受保护变量,但只能在类的方法中修改。由于C1作为参数传递给类C3中的方法,因此您不在类C1中,因此不能修改C1对象的x变量。

什么方法<代码>C4不会继承任何内容。为什么它应该访问另一个类的受保护成员?