在java中初始化变量

aij0ehis  于 2021-07-09  发布在  Java
关注(0)|答案(3)|浏览(534)

如何初始化字符串 name 以及名为 right 在超类中 trueHighRights 上课?
所以如果 high 是的示例 HighRights 那么

high.getSecret();

你应该回来 the secret is 42 ```
public class SecurityRights {
private boolean right;
private boolean canreadSecret;
String SECRET="the secret is 42";

public SecurityRights(boolean r) {
right =r;
if (r) canreadSecret=true; else canreadSecret=false;
}

boolean getRight(){
return right;
}

boolean canReadSecret(){
return canreadSecret;
}

String getSecret(){
if (canreadSecret) return SECRET; else return "access denied";
}
}

public class HighRights extends SecurityRights
{
private String name;

public HighRights(String n){

}

public String getName(){
return name;
}

public static void main(String[] a){
HighRights s= new HighRights("Lisa");
System.out.print(s.getName() +" "+s.getSecret());
}
}

bvuwiixz

bvuwiixz1#

您可以像调用getsecret()和initialize以及boolean和string一样创建一个方法。

你可以使用超级方法。这里有更多的信息。您几乎可以为该类创建一个构造函数,但是由于该类的示例从来都不是只创建该示例的子示例,因此需要使用super命令来创建构造函数。

6tr1vspr

6tr1vspr2#

通过调用 super() .
对你来说

super(booleanValue);

通常,这会放在子构造函数的第一行。
您还可以将隐私级别从 privateprotected ,然后您就可以在所有子对象中访问它。

jpfvwuh4

jpfvwuh43#

继承的类将具有以下implementation:-

class HighRights extends SecurityRights
{
  private String name;

  public HighRights(boolean r,String n){
    super(r);
    this.name = n;
  }

  public String getName(){
    return name;
  }

  public static void main(String[] a){
    HighRights s= new HighRights(false,"Lisa");
    System.out.print(s.getName() +" "+s.getSecret());                
  }
}

在这个实现中 super 使用关键字。 super 关键字在您需要调用 superclass's 构造函数的构造函数 subclass . 因为你需要访问 right 变量 SecurityRights 来自 HighRights ,您可以使用 super 关键字。更多信息可以在甲骨文的手册中找到。
另外,您在的构造函数中给出了一个参数 SecurityRights 但你没有给任何变量赋值。请避免这些错误。

相关问题