Java 试图理解对包中成员的访问

Java 试图理解对包中成员的访问,java,Java,早上好 我正在学习Java,并试图理解如何访问包中的类成员。 我必须访问MemberAccess目录中的文件并调用unitOne.MemberAccess包,对吗 下面是一个简单的例子 package unitOne.MemberAccess; public class Parent { private String secret = "This is my secret"; protected String inherit = "All my money"; i

早上好

我正在学习Java,并试图理解如何访问包中的类成员。 我必须访问MemberAccess目录中的文件并调用unitOne.MemberAccess包,对吗

下面是一个简单的例子

package unitOne.MemberAccess;

public class Parent 
{
    private String secret = "This is my secret"; 
    protected String inherit = "All my money";

    int age = 100; 

    public void singInShower()
    {
        System.out.println("la-di-da");
    }
}   
新的,我在同一个包中创建了一个单独的文件,名为OtherPerson

package unitOne.MemberAccess;

class OtherPerson
{


    public static void main(String[]args)
    {
        OtherPerson op = new OtherPerson();
        System.out.println(op.inherit);
        System.out.println(op.age);
    }   

}
问题是我得到了一个编译时错误,向我解释说找不到符号。 但据我所知,该类可以查看与另一个类位于同一包中的受保护和默认成员

问候 阿里安

你的另一个人没有继承你的父母

尝试用OtherPerson扩展父类替换OtherPerson.java的第二行。

您的OtherPerson不会继承您的父类


尝试用OtherPerson扩展父类替换OtherPerson.java的第二行。

op是OtherPerson对象,没有年龄属性。不过,类父级有一个age属性。替换其他人op=新的其他人;具有父对象op=新父对象;应该有用

op是另一个人对象,没有年龄属性。不过,类父级有一个age属性。替换其他人op=新的其他人;具有父对象op=新父对象;应该有用

您需要在Otherperson类中创建父类的对象


因此,您需要编写Parent op=newparent,而不是OtherPerson op=newotherperson

您需要在Otherperson类中创建父类的对象

因此,您需要编写Parent op=newparent,而不是OtherPerson op=newotherperson

op是OtherPerson类型的实例。OtherPerson和父类没有关系,因此op不能用于访问父类成员


op是OtherPerson类型的实例。OtherPerson和父类没有关系,因此op不能用于访问父类成员。

一个类的成员,无论是私有的、公共的、受保护的还是默认的,对其他类来说都是不可见的。永远不会……那将是一匹夜母马。当一个类继承另一个类时,访问其他成员和其他成员的可见性将发挥作用。所以,要么需要扩展类,要么实现父子关系。那么你说的是真的


是的,在我住的地方,现在晚上好:

一个班级的成员,无论是私人的、公共的、受保护的还是默认的,其他班级永远看不到。永远不会……那将是一匹夜母马。当一个类继承另一个类时,访问其他成员和其他成员的可见性将发挥作用。所以,要么需要扩展类,要么实现父子关系。那么你说的是真的


是的,在我住的地方,现在晚上好:

将包名全部小写是常见的惯例。您在包名中使用大写字母并没有错,但这种情况很少见。将包名全部小写是常见的惯例。您在包裹名称中使用大写字母并没有错,但这种情况很少见。
 OtherPerson op = new OtherPerson();