Java 更改对象属性而不在单独的类中定义

Java 更改对象属性而不在单独的类中定义,java,object,properties,Java,Object,Properties,您好,我在下面演示的一个程序中遇到了一个问题(不是实际的程序,这只是说明了问题)。无论如何,我需要在另一个方法中更改对象的属性,但我不想在另一个类中定义pen的属性。我会假设这是非常简单的,我刚刚犯了一个愚蠢的错误,那么我该怎么做呢 public class Test { pen PEN = new pen(); public static void main(String [] args) { System.out.println(colouredPen(PE

您好,我在下面演示的一个程序中遇到了一个问题(不是实际的程序,这只是说明了问题)。无论如何,我需要在另一个方法中更改对象的属性,但我不想在另一个类中定义pen的属性。我会假设这是非常简单的,我刚刚犯了一个愚蠢的错误,那么我该怎么做呢

public class Test {

    pen PEN = new pen();
    public static void main(String [] args) {
        System.out.println(colouredPen(PEN).colour);
    }

    static Object pen() {
        String colour;
        return pen();
    }

    static Object colouredPen(Object pen) {
        pen.colour = "red";
        return pen;
    }
}
我知道你可以这么做,但我想知道你是否必须这么做

public class Test {

    static pen PEN = new pen();
    public static void main(String [] args) {
        colouredPen();
        System.out.println(PEN.colour);
    }

    static void colouredPen() {
    PEN.colour = "red"; 
    }
}

class pen {
    String colour;
}

答案是否定的,你不能在方法中定义对象。

我想你需要一个
类。我不清楚你的意思。不能说我理解你想要什么。您想创建一个新类型的对象,并在不定义另一个类的情况下访问/修改它的属性吗?
pen()
方法将明确导致stackoverflowWow。。那是java吗?无论如何,pen()方法是递归的。实际上,您可以在方法中声明类。也可以在方法中创建对象。我不知道你说的是什么意思,所以这毕竟是可以做到的?你能举个例子吗?因为大多数人似乎暗示没有办法做到这一点。自己测试:
void method(){class Test{}