-2

我已经粘贴了代码,现在我的查询是在名为“accesssp”的第一类中,我添加了对象,然后编写了 SOP,那么为什么我不能将输出作为 B 的值?b 的访问是私有的,但我在同一个类中获取值

我已经完成了我不明白的 BOLD 部分。

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();
}

}
4

4 回答 4

1

好吧,它的 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

}
于 2013-03-25T10:08:26.083 回答
0

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();

}

}
于 2013-03-25T10:16:10.187 回答
0

System.out.println(b);既不在main()方法中,也不在任何函数中。这不能像您所做的那样直接执行。在旁注中,变量b将无法在accesssp1课堂上访问。

于 2013-03-25T10:12:30.020 回答
0

java中有访问说明符,有,

private, public and protected.

以上每一个都有其特点,它们是根据那里的范围和可见性来解释的。

private has scope & visibility resides only on inside a function or there the class.

例如。:

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 具有范围和可见性位于项目的任何位置(当它可以在外部调用时,只能使用其对象调用。)。这些值通过它们的对象访问。

例如。:

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
    }
}

受保护的范围和可见性在类内部,并且还访问了公共继承类。

所以System.out.println(b);语句必须在第一类的构造函数中。

于 2013-03-25T12:07:58.333 回答