Java 如果我在类1中创建类2的对象,然后访问类2';s的数据…有什么区别?
在这个对象关系的代码片段中,我引用了类1中的类2,并通过它访问类2的成员 如果我在类1中创建类2的对象,然后访问它的方法,会怎么样?这样做有什么区别 我知道我在这里遗漏了一些概念,但我不明白Java 如果我在类1中创建类2的对象,然后访问类2';s的数据…有什么区别?,java,Java,在这个对象关系的代码片段中,我引用了类1中的类2,并通过它访问类2的成员 如果我在类1中创建类2的对象,然后访问它的方法,会怎么样?这样做有什么区别 我知道我在这里遗漏了一些概念,但我不明白 // Object Relation Using References package Object_Relation; class One { // Instance Variables int x; Two t; public One(Two t) {
// Object Relation Using References
package Object_Relation;
class One {
// Instance Variables
int x;
Two t;
public One(Two t) {
this.t = t;
x=10;
}
void display() {
System.out.println("Class One Members : ");
System.out.println("x = "+x);
System.out.println("Displaying Class Two Members using its Method");
t.display();
System.out.println("Displaying Class Two Members using its reference :");
System.out.println("y = "+t.y);
}
}
class Two {
// Instance Variables
int y;
public Two(int y) {
this.y = y;
}
public void display() {
System.out.println("y = "+y);
}
}
public class UsingReference {
public static void main(String[] args) {
Two t2 = new Two(20);
One o = new One(t2);
o.display();
}
}
我不确定问题到底是什么 但是在这个例子中,一和二都是不同的类。为了访问非静态成员变量,需要一个类2的对象 您是否在寻找有关java内部类的一些概念:- 范例
PS:这里InnerClass是OuterClass的成员。这是一个真正的问题吗?你在问什么?看看下面是否有帮助:@TimBiegeleisen我的问题是,我可以从两种方法中获得相同的输出,我对这两种方法都感到困惑。区别在于你需要遵循两个指针,而不是一个。1和2的内存位置没有关系,可以在任何地方。我可以从这两种方法中获得相同的输出,我对这两种方法都感到困惑。我想你在寻找依赖注入的概念。
public class OuterClass {
int i;
public void method1() {
System.out.println("Inside Method 1");
}
class InnerClass {
int j;
public void method2() {
System.out.println("Inside Method 2");
}
}
public static void main(String[] args) {
// To instantiate an inner class, you must first instantiate the outer class
OuterClass outerObject = new OuterClass();
outerObject.method1();
// Then, create the inner object within the outer object
OuterClass.InnerClass innerObject = outerObject.new InnerClass();
innerObject.method2();
}
}