Java 在main函数中创建对象的实例

Java 在main函数中创建对象的实例,java,constructor,static,Java,Constructor,Static,我应该调用方法集,使其更改我创建的对象的属性,但出现以下错误: PrimerPrograma.java:34:错误:非静态变量这不能是 从静态上下文引用 我尝试的代码是: 公共类素数程序{ 公共班平托{ int x; int-y; 公共货币宽松,国际货币{ x=松弛; y=铺层; } 公共无效集int-lax,int-lay{ x=松弛; y=铺层; } 公共静态无效字符串[]args{ Punto p=新的Punto 5,5; p、 set8,8; System.out.printlnp.x+

我应该调用方法集,使其更改我创建的对象的属性,但出现以下错误:

PrimerPrograma.java:34:错误:非静态变量这不能是 从静态上下文引用 我尝试的代码是:

公共类素数程序{ 公共班平托{ int x; int-y; 公共货币宽松,国际货币{ x=松弛; y=铺层; } 公共无效集int-lax,int-lay{ x=松弛; y=铺层; } 公共静态无效字符串[]args{ Punto p=新的Punto 5,5; p、 set8,8; System.out.printlnp.x+p.y; } }
如何创建Punto类的实例,以便调用其方法?

将实例化、设置和系统打印调用放在主函数中。我建议您循序渐进地观看一些有关basic的youtube视频。这将对您的beggining大有帮助。

来源:

非静态变量仅在存在 如果你有一个静态方法,它不能访问任何变量 类对象,除非它具有该类的实例并使用该实例 要访问变量,请将内部类的public更改为static 如果希望main方法能够引用它

此代码应适用于:

public class PrimerPrograma{

     public static void main(String []args){
        Punto p = new Punto(5, 5);
        p.set(8,8);
        System.out.println(p.x+p.y);
     }
     
     public static class Punto{
        int x;          
        int y;
        
        public Punto(int lax, int lay) {
            x = lax;
            y = lay;
        }

        public void set(int lax, int lay){
            this.x = lax;
            this.y = lay;
        }
    }
}

我建议阅读讨论。

您是如何将构造函数和p.set放在main方法中的?因为这确实是您应该做的。首先感谢您的回答,我将写下我是如何将其放在问题的第一位的。您也是这个地方的新手。请花些时间了解它是如何工作的。这从以下细节开始:using预览功能,以确保您的输入格式和缩进都很好。而不是仅仅在没有明确问题描述的情况下向我们添加一些代码。还有一件事:这不是一个讨论板。其思想是:您提出一个精确的问题,然后您就得到了答案。您不需要接受答案,修改您的问题,然后让人们e帮助解决你遇到的下一个问题。并且:请做研究。你面临的是非常基本的问题,这些问题在这里被解释了很多次。当你在做第一次编码实验时,这个社区不应该握着你的手。然后:A或者把每个类放在自己的文件中,或者B研究如何进行编码同一个文件中的两个类提示:只有一个类可以是公共的,或者C使内部类保持静态…并且:告诉您的讲师在向大家提出请求时要更加精确。因为有多种方法可以创建多个类,这显然会导致混淆…虽然您的答案可能是正确的,但添加示例代码可能会有帮助有一点。谢谢你的回答,如果你能给我一个代码的例子,我会试着这么做,因为你所做的只是说非静态变量不能在静态main中引用,所以是的,我真的很感谢你的帮助谢谢,在类中放置静态解决了问题,我研究了讨论真的帮助了我