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);
}
}
注释1是否需要创建主类的对象(一般来说)。我听说过this()关键字可以访问类的所有方法,那么为什么他们需要创建类的对象构造函数最好在类中。
注释2因为privateMethod和public方法是非静态的,所以我们无法在静态函数中访问它们。我是对的吗?
评论5为什么这一行显示错误?IMO它不在有效方法内
答案 0 :(得分:1)
main
方法是静态的。因此,您无法在其中使用this
。静态方法可以在没有对象的情况下使用,但所有非静态方法都需要一个。
带有注释5的陈述不属于任何方法。这在Java中是不允许的。