无法从Java中的另一个类访问变量?

艾文·诺娃(AvenNova)

我试图调用在另一个类中创建的变量numFriends,但是当我尝试这样做时,它说“ numFriends无法解析为变量”。每次添加新朋友时该变量都会增加,我想在我的Test类中显示该变量。这是我的代码:

第一类

public class Person {

    private String fullName;
    private char gender; 
    private int age;

    public static int numFriends = 0;

    public Person(String nm, char gen, int a) {
        fullName = nm;
        gender = gen;
        age = a; 
        numFriends++;
    }

    public void setName(String nm) {
        fullName = nm;
    }

    public void setAge(int a) {
        age = a;
    }

    public int getAge() {
        return age;
    }

    public void setGender(char g) {
        gender = g;
    }

    public String toString() {
        return (fullName + ", gender = " + gender + ", age = " + age );
    }

}

第二类(可执行)

public class TestPerson {

    public static void main(String[] args) {

        System.out.println(numFriends + " people at first");

        Person p1 = new Person("Otto Mattik", 'M', 22);
        p1.setName("Otto Mattik");
        p1.setGender('M');
        p1.setAge(22);
        System.out.println("Person Full Name = " + p1);

        Person p2 = new Person("Anna Bollick", 'F', 19);
        p2.setName("Anna Bollick");
        p2.setGender('F');
        p2.setAge(19);
        System.out.println("Person Full Name = " + p2);


        Person p3 = new Person("Dick Tator", 'M', 33);
        p3.setName("Dick Tator");
        p3.setGender('M');
        p3.setAge(33);
        System.out.println("Person Full Name = " + p3);

        changeName(p2, "Anna Bollik-Mattik");

        Person[] people = {
                p1, p2, p3
        };

        agePersons(people, 5);

        System.out.println("\n" + numFriends + " people after 5 years");

        for (Person person : people)
            System.out.println("Person fullName: " + person);

    }

    public static void changeName(Person p, String name) {
        p.setName(name);
    }

    public static void agePersons(Person[] people, int years) {
        for (Person person : people)
            person.setAge(person.getAge() + years);
    }
}
发问者和答覆者

你需要说Person.numFriends这是因为numFriends是Person类的静态成员,因此您需要使用Person类来引用numFriends。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从Java中的另一个类访问变量

来自分类Dev

在JAVA中访问另一个类变量

来自分类Dev

从Java中的另一个类访问变量

来自分类Dev

Java变量无法从一个类访问另一个类

来自分类Dev

无法从java中的另一个类访问一个类

来自分类Dev

无法从另一个类访问变量

来自分类Dev

快速访问另一个类中的变量

来自分类Dev

如何从Java中同一包中的另一个类访问变量

来自分类Dev

无法访问在另一个模块中设置的类实例变量

来自分类Dev

如何访问在属于另一个Java类的方法中声明的变量?

来自分类Dev

从Java中的另一个类访问私有变量

来自分类Dev

从另一个类访问一个类中的变量

来自分类Dev

在Python中从一个类到另一个类访问变量

来自分类Dev

无法访问Java中另一个类中方法的返回实例

来自分类Dev

Java - 无法访问另一个类中的数组列表

来自分类Dev

无法从Visual Studio C ++中的另一个类访问一个类

来自分类Dev

从另一个类访问类变量

来自分类Dev

访问另一个类的类方法/变量

来自分类Dev

从另一个类访问类变量

来自分类Dev

从另一个类访问类变量

来自分类Dev

从一个类文件访问另一个文件中的变量

来自分类Dev

从另一个类访问静态变量

来自分类Dev

如何从另一个类访问对象变量?

来自分类Dev

从另一个类Android Studio访问变量

来自分类Dev

从另一个类Swift访问变量

来自分类Dev

从另一个类访问静态变量

来自分类Dev

从另一个类访问模板的变量

来自分类Dev

从另一个类访问Companion Class变量

来自分类Dev

从另一个类访问变量的实例