java - 是否需要在同一个类中创建一个类的对象?

标签 java static this

    package constructorlatest;
    import java.util.*;

     public class ConstructorLatest {

     public static void main(String[] args) {

        A a1=new A();
        a1.calculate();
        a1.display(12);
        ConstructorLatest Cl=new ConstructorLatest(); //1
        Cl.privateMethod(); 
        this.privatemethod(); //2
        this.publicMethod();  //3

    }
     ConstructorLatest C2=new ConstructorLatest(); //4 
     C2.privateMethod();         // 5               

    private void privateMethod()
    {
    System.out.println("this is a private method in main class");
    }

    void publicMethod()
    {
       System.out.println("this is a public method in main class");
    }

        this.privatemethod();
        this.publicMethod();

}



   class A
  {

    void calculate()
    {
      int x,y,sum;
      Scanner sc=new Scanner(System.in);
      x =sc.nextInt(); 
      y =sc.nextInt(); 
      sum=x+y;
      display(sum);

    }

    void display(int sum)
    {   
        System.out.println("no constructor created hence default constructor");        
        System.out.println(sum);
    }

}

comment 1 是否需要创建一个主类的对象(一般情况下)。我听说this()关键字可以访问一个类的所有方法,那为什么需要创建一个类的对象类中的构造函数最新。

评论 2 由于 privateMethod 和 public 方法是非静态的,我们无法在静态函数中访问它们。我说得对吗?

comment 5 为什么这一行显示错误?IMO 它不在有效方法内

最佳答案

main 方法是静态的。因此你不能在其中使用this。静态方法可以在没有对象的情况下使用,但所有非静态方法都需要一个。

注释5的语句不属于任何方法。 Java 中不允许这样做。

关于java - 是否需要在同一个类中创建一个类的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39054216/

相关文章:

java - 如何查看/删除 Google Analytics 中的任何特定用户数据

java - JFrame 一遍又一遍地打开

java - 面向对象设计 : Static fields

C# 静态类 - 静态类不能有非静态成员

java - 通过标准 SDK 在 Android 8 上显示应用程序图标徽章

java - 用 JMonkey 画一个矩形

variables - 常量和静态变量有什么区别,我应该选择哪个?

javascript - 小javascript这个问题

jQuery 在 .each() 中操作对象

java - 如何指定 'this' 指的是什么?