一个关于子类继承父类的问题,求高手指教下菜鸟…
public class New {
public class Vehicle {
private String color;
private String kind;
private int speed;
Vehicle(){
color = "NULL";
kind = "NULL";
speed = 0;
}
public void setSpeed( int speed1){
speed = speed1;
}
public void setColor(String color1){
color = color1;
}
public void setKind(String kind1){
kind = kind1;
}
public int getSpeed(){
return speed;
}
public String getColor(){
return color;
}
public String getKind(){
return kind;
}
}
public class Car extends Vehicle{
private int passengerNumber;
Car(){
super();
passengerNumber = 0;
};
public void setPassengerNumber(int passgerNumber){
this.passengerNumber = passengerNumber;
}
public int getPassengerNumber(){
return passengerNumber;
}
}
public static void main(String []args){
Car myCar = new Car();
myCar.setColor("Black");
myCar.setSpeed(200);
myCar.setKind("Big");
myCar.setPassengerNumber(4);
System.out.println(" My Car :");
System.out.println("Color: " + myCar.getColor());
System.out.println("Speed: " + myCar.getSpeed());
System.out.println("Kind : " + myCar.getKind() );
System.out.println("The number of the passgers: "+ myCar.getPassengerNumber());
}
}
编译时报错为 MAIN方法中 Car myCar = new Car(); 有错,Exception in thread "main" java.lang.Error: Unresolved compilation problem: No enclosing instance of type New is accessible. Must qualify the allocation with an enclosing instance of type New (e.g. x.new A() where x is an instance of New).at New.main(New.java:57)
自己猜想可能是子类继承父类时构造顺序引发的错误,具体还不清楚,求高手指点! 非常感谢!
public class Vehicle {
private String color;
private String kind;
private int speed;
Vehicle(){
color = "NULL";
kind = "NULL";
speed = 0;
}
public void setSpeed( int speed1){
speed = speed1;
}
public void setColor(String color1){
color = color1;
}
public void setKind(String kind1){
kind = kind1;
}
public int getSpeed(){
return speed;
}
public String getColor(){
return color;
}
public String getKind(){
return kind;
}
}
public class Car extends Vehicle{
private int passengerNumber;
Car(){
super();
passengerNumber = 0;
};
public void setPassengerNumber(int passgerNumber){
this.passengerNumber = passengerNumber;
}
public int getPassengerNumber(){
return passengerNumber;
}
}
public static void main(String []args){
Car myCar = new Car();
myCar.setColor("Black");
myCar.setSpeed(200);
myCar.setKind("Big");
myCar.setPassengerNumber(4);
System.out.println(" My Car :");
System.out.println("Color: " + myCar.getColor());
System.out.println("Speed: " + myCar.getSpeed());
System.out.println("Kind : " + myCar.getKind() );
System.out.println("The number of the passgers: "+ myCar.getPassengerNumber());
}
}
编译时报错为 MAIN方法中 Car myCar = new Car(); 有错,Exception in thread "main" java.lang.Error: Unresolved compilation problem: No enclosing instance of type New is accessible. Must qualify the allocation with an enclosing instance of type New (e.g. x.new A() where x is an instance of New).at New.main(New.java:57)
自己猜想可能是子类继承父类时构造顺序引发的错误,具体还不清楚,求高手指点! 非常感谢!
...全文
相关推荐
python菜鸟基础教程-终于懂得python入门菜鸟教程.pdf
Python的继承机制支持多继承,子类可以继承父类的属性和方法。如果子类定义了与父类同名的方法,那么在子类中调用这个方法时,会执行子类的版本,这就是方法覆盖。
java菜鸟教程_JAVA菜鸟教程_
继承允许一个类(子类)继承另一个类(父类)的属性和方法,实现代码复用。多态则指的是同一种行为在不同对象上表现出不同的形式,增强了代码的灵活性。
Java菜鸟入门手册
**Java中的继承**: - 继承允许一个类(子类)继承另一个类(父类)的属性和方法。Java中使用关键字`extends`实现继承。通过继承可以实现代码复用,减少重复代码。
python3.0菜鸟教程.zip
- **继承**:子类继承父类的属性和方法。 - **多态**:不同对象对同一方法有不同实现,提供代码灵活性。7.
java菜鸟教程
面向对象编程(OOP)是Java的核心特性,它包括封装、继承和多态三大特性。封装是指将数据和操作数据的方法绑定在一起,形成一个类。继承是指子类可以继承父类的属性和方法,增加了代码的复用性。


Eclipse
