如何初始化字符串 name
以及名为 right
在超类中 true
从 HighRights
上课?
所以如果 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());
}
}
3条答案
按热度按时间bvuwiixz1#
您可以像调用getsecret()和initialize以及boolean和string一样创建一个方法。
或
你可以使用超级方法。这里有更多的信息。您几乎可以为该类创建一个构造函数,但是由于该类的示例从来都不是只创建该示例的子示例,因此需要使用super命令来创建构造函数。
6tr1vspr2#
通过调用
super()
.对你来说
通常,这会放在子构造函数的第一行。
您还可以将隐私级别从
private
至protected
,然后您就可以在所有子对象中访问它。jpfvwuh43#
继承的类将具有以下implementation:-
在这个实现中
super
使用关键字。super
关键字在您需要调用superclass's
构造函数的构造函数subclass
. 因为你需要访问right
变量SecurityRights
来自HighRights
,您可以使用super
关键字。更多信息可以在甲骨文的手册中找到。另外,您在的构造函数中给出了一个参数
SecurityRights
但你没有给任何变量赋值。请避免这些错误。