Okay, i have two classes. One needs to access (public) methods within the other . If i declare

ClassB objectName = new ClassB();

in one method of class A , then use objectName.methodname() in that method then it works fine.

Butif i then try and call objectName.methodname() from another method in class A it doesnt work, i need to make another instance of it.

Can i just make one instance of ClassB which all the methods in ClassA can access?

Does this make sense?

Recommended Answers

All 3 Replies

Assign that class instance to an instance variable, rather than a local variable, if you want to use that same instance throughout the class.

I.E.

public class A {
    private B bObject;

    A() {
      bObject = new B();
    }

    void whateverOne() {
        bObject.whatever();
    }

    void whateverTwo() {
        bObject.whatever();
    }
}

rather than

public class A {
    A() {
    }

    void whateverOne() {
        B bObject = new B();
        bObject.whatever();
    }

    void whateverTwo() {
        B bObject = new B();
        bObject.whatever();
    }
}
commented: fast reply +33

Thanks!

Welcome.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.