Java:访问类中也是同一类对象的属性
我作为Java语言的OOP初学者学习,发现自己在尝试执行特定任务时陷入了困境。现在我正试图解决一个问题,我有一个类a,它有两个属性,一个是相同类型a的对象,一个包含类型B的对象的列表,这个类型B只有一个属性,它是一个intJava:访问类中也是同一类对象的属性,java,class,oop,reference,Java,Class,Oop,Reference,我作为Java语言的OOP初学者学习,发现自己在尝试执行特定任务时陷入了困境。现在我正试图解决一个问题,我有一个类a,它有两个属性,一个是相同类型a的对象,一个包含类型B的对象的列表,这个类型B只有一个属性,它是一个int Class B{ int number; } Class A{ A next; List<B> objects; { B类{ 整数; } 甲级{ 下一个; 列出对象; { 我遇到的部分问题是“在类a中创建一个方法,该方法将返回类
Class B{
int number;
}
Class A{
A next;
List<B> objects;
{
B类{
整数;
}
甲级{
下一个;
列出对象;
{
我遇到的部分问题是“在类a中创建一个方法,该方法将返回类a当前实例中数量最少的对象B及其后续对象(下一个)。我不是在试图找到代码,而是一种能够在我所处的类的当前实例之间移动的方法(参考类a)以及它的正向引用(下一个)。我在这里提出这个问题是因为我在搜索中找不到这样的问题。我通过以下代码更新了一个类
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);
}
}
}
从类a中的方法,可以使用
this.next.objects
访问next的对象(假设字段不是私有的)。
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