java:访问一个类中的属性,这个属性也是同一个类的对象

hlswsv35  于 2021-06-26  发布在  Java
关注(0)|答案(1)|浏览(348)

我是一名java语言的oop初学者,在尝试完成一项特定任务时,我发现自己陷入了困境。现在我正在尝试解决一个问题,我有一个类a,它有两个属性,一个是a类型的对象,一个是b类型的对象列表,这个b类型只有一个属性和一个int。

Class B{
   int number;
}

Class A{
    A next;
    List<B> objects;    
{

我遇到的部分问题是“在类a中生成一个方法,该方法将以类a及其后续对象(a next)的当前示例中的最小值返回对象b”。我不是想找到一个代码,而是一种能够在我所在的类的当前示例(引用类a)和它的前向引用(下一个)之间移动的方法。我在这里提出这个问题是因为我在搜索中找不到这样的问题。

kninwzqo

kninwzqo1#

我已经通过以下代码更新了一个类

import java.util.*;
public class A {
    List<B> obj1;
    A next;
    A(A a,List<B> o){
        next = a;
        obj1 = o;
    }

    public void  lowestNumber()
    {
        List<B> objects = new ArrayList<B>();
        int i = obj1.get(0).number;
        System.out.println(" A next object size of list b is "+next.obj1.size());
        for(B ob: obj1)
        {
            if(ob.number < i)
            {
                i = ob.number;
                objects.add(ob);
            }
        }

        if(objects.size() != 0)
        {
            int j = objects.size() - 1;
            System.out.println(" B object lowest number is "+objects.get(j).number);
        }
        else {
            System.out.println(" B object lowest number is  "+objects.get(0).number);
        }

    }
}

为了执行这个,我为main方法创建了单独的类c.java,下面的代码是

import java.util.*;
public class C {
    public static void main(String[] args) 
    {
    List<B> y = new ArrayList<B>();
    List<B> u = new ArrayList<B>();

    B y1 = new B();
    y1.number = 3;
    B y2 = new B();
    y2.number = 4;
    B y3 = new B();
    y3.number = 1;
    B y4 = new B();
    y4.number = 2;
    y.add(y1);
    y.add(y2);
        y.add(y3);
        u.add(y4);
       u.add(y3);
        A n2 = new A(null, u);
        A n1 = new A(n2, y); 
        n1.lowestNumber();

    }
}

输出为

A next object size of list b is 2
 B object lowest number is 1

相关问题