[英]Not able to access the parent class methods via child class
这是我的代码:
static class Developer
{
String Name;
String Language;
int Years;
int Age;
void Company ()
{
System.out.println (Name + " Codes in " + Language + " & has " + Years +
" Years of experience" + ", He is " + Age + " Old");
}
public Developer ()
{
System.out.println ("Hello");
}
public Developer (String Name, String Language, int Years, int Age)
{
this ();
this.Name = Name;
this.Language = Language;
this.Years = Years;
this.Age = Age;
}
class Analyst extends Developer
{
public Analyst (String Name, String Language, int Years, int Age)
{
super (Name, Language, Years, Age);
}
}
}
public static void main (String[]args)
{
Developer d1 = new Developer ();
d1.Name = "John";
d1.Language = "Java";
d1.Years = 2;
d1.Age = 22;
Developer d2 = new Developer ("Doe", "C++", 3, 23);
d1.Company ();
d2.Company ();
Analyst A1 = new Analyst ("Doe", "C++", 3, 23);
A1.Company ();
}
}
出现以下错误:
Main.java:58: error: cannot find symbol
Analyst A1 = new Analyst("Doe","C++",3,23);
^
symbol: class Analyst
location: class Main
Main.java:58: error: cannot find symbol
Analyst A1 = new Analyst("Doe","C++",3,23);
^
symbol: class Analyst
location: class Main
2 errors
public class Developer
{
String Name;
String Language;
int Years;
int Age;
void Company ()
{
System.out.println (Name + " Codes in " + Language + " & has " + Years +
" Years of experience" + ", He is " + Age + " Old");
}
public Developer ()
{
System.out.println ("Hello");
}
public Developer (String Name, String Language, int Years, int Age)
{
this ();
this.Name = Name;
this.Language = Language;
this.Years = Years;
this.Age = Age;
}
}
public class Analyst extends Developer {
public Analyst (String Name, String Language, int Years, int Age){
super (Name, Language, Years, Age);
}
public static void main (String[]args){
Developer d1 = new Developer ();
d1.Name = "John";
d1.Language = "Java";
d1.Years = 2;
d1.Age = 22;
Developer d2 = new Developer ("Doe", "C++", 3, 23);
d1.Company ();
d2.Company ();
Analyst A1 = new Analyst ("Doe", "C++", 3, 23);
A1.Company ();
}
}
您不能将static
关键字与 class 一起使用,除非它是内部static
内部 class 是嵌套的 class,它是外部static
的成员 static
public class Outer {
static class InnerStaticClass {
public void example() {
System.out.println("This is static nested class");
}
}
public static void main(String args[]) {
Outer.InnerStaticClass nestedClass = new Outer.InnerStaticClass();
nestedClass.example();
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.