3

following code, containing file is here

public abstract class Quart extends TweenEquation {
    public static final Quart IN = new Quart() {
        @Override
        public final float compute(float t) {
        return t*t*t*t;
    }
    ...

if i call Quart.IN.compute(0.5f) somewhere in my running application (e.g. in a render() function that is called 60 times per second), does this create a new Quart on every call, or is it just allocated once?

it would make sense, right?

thanks, cheers

4 Answers 4

4

By definition, a final variable can only be assigned once. And static fields of a class are initialized when the class is loaded. So obviously, the IN Quart instance is created just once.

Sign up to request clarification or add additional context in comments.

Comments

0

is it just allocated once

Yes, you're calling the compute method always on the same single object.

Comments

0

Just once. The static field IN is initialized during the first access to the class Quart.

Comments

0

You can also check it's created only once by writing output when an instance of Quart is created:

public abstract class Quart extends TweenEquation {
    public static final Quart IN = new Quart() {

        { System.out.println("created"); }

        @Override
        public final float compute(float t) {
            return t*t*t*t;
        }
    ...

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.