Java 需要了解公共和私人
我已经粘贴了代码,现在我的问题是,在第一个名为“accesssp”的类中,我添加了对象,然后编写了SOP,那么为什么我不能输出为值B??b的访问是私有的,但我在同一个类中获取值 我做了粗体部分,我不明白Java 需要了解公共和私人,java,private,public,Java,Private,Public,我已经粘贴了代码,现在我的问题是,在第一个名为“accesssp”的类中,我添加了对象,然后编写了SOP,那么为什么我不能输出为值B??b的访问是私有的,但我在同一个类中获取值 我做了粗体部分,我不明白 class accesssp { public int a=56; private int b=5566; public int c=58766; System.out.println(b); } class accesssp1 extends accesssp{ public vo
class accesssp {
public int a=56;
private int b=5566;
public int c=58766;
System.out.println(b);
}
class accesssp1 extends accesssp{
public void accessd() {
System.out.println(a);
System.out.println(c);
}
}
public class Access_Spf {
public static void main(String[] args) {
accesssp1 sp1 = new accesssp1();
sp1.accessd();
}
}
好的,它的cuz system.out.println语句应该在方法/构造函数体中,正如您在第2和第3种情况中所做的那样。这是一个编译器错误
class accesssp {
public int a=56;
private int b=5566;
public int c=58766;
System.out.println(b);//should be inside a method/cons body
}
System.out.println(b)
既不在main()
方法中,也不在任何函数中。这不能像您所做的那样直接执行。另一方面,变量b
在accesssp1
类中不可访问。SOP应该在任何方法中。使用构造函数并在构造函数中打印它,然后在accesssp1的构造函数中调用super()
class accesssp {
public int a=56;
private int b=5566;
public int c=58766;
public accesssp()
{
System.out.println(b);
}
}
class accesssp1 extends accesssp{
public accesssp1()
{
super();
}
public void accessd() {
System.out.println(a);
System.out.println(c);
}
}
public class Access_Spf {
public static void main(String[] args) {
accesssp1 sp1 = new accesssp1();
sp1.accessd();
}
}
java中有访问说明符
private, public and protected.
以上每一项都有各自的特点,并根据其范围和可见性进行了说明
private has scope & visibility resides only on inside a function or there the class.
例如:
public的作用域和可见性位于项目的任何位置(当它只能在外部调用时,只能使用其对象进行调用)。这些值是通过其对象访问的
例如:
受保护的范围和可见性位于类内部,并且还访问了公共继承类
So
System.out.println(b)代码>语句必须位于第一类构造函数内。代码不可编译。您应该阅读编译器错误消息。如果你不明白,你应该粘贴准确完整的编译器错误信息,而不是让我们猜测问题可能是什么。你需要把print语句放在类的一个方法中。我理解了你想说的话bt不正确,请告诉我,在代码中,我应该把它放在哪里?print语句不能在类主体中。它必须在一个块或方法体中。@PratikAmbani我很高兴它有帮助:)那么什么是方法来显示b的价值,对不起,我是一个初学者,所以请不要嘲笑我…:使用任何方法。请尝试:public accesssp(){System.out.println(b);}
这里它是在构造函数内部调用的。非常感谢您,先生,希望您能提供进一步的帮助。再次感谢……:)不客气。你可以接受这个。你可以用谷歌搜索这个。很多人会投票反对这个问题。我不在乎这个投票系统。因为我是java的初学者。顺便说一下,我需要一个愚蠢问题的答案,构造函数需要什么?构造函数不是必需的。你可以用任何方法。但可执行语句必须位于任何方法的内部。否则它会显示错误。你应该关心投票。如果你问一些简单的问题,他们会投票否决你,你将被永久禁止在这里提问。如果方法中没有访问说明符,我会给出+1,它们会给出编译错误。
public class classFirst
{
private int variableName1;//scope and visibility inside this class
public void function1()
{
private int variableName2;//scope and visibility inside this function not use outside.
}
}
public class classSecond
{
public int variableName1;//scope and visibility anywhere on the project
public void function1()
{
public int variableName2;//scope and visibility anywhere on the project
}
}