永发信息网

非法的类型开始,为什么?

答案:2  悬赏:0  手机版
解决时间 2021-04-04 22:03
  • 提问者网友:凉末
  • 2021-04-04 08:35
class Animal{
private int legs;
private String kinds;
public Animal(){
setLegs(4);
}
public Animal(int l){
setLegs(l);
}
public void eat(){
System.out.println("Eating");
}
public void move(){
System.out.println("Moving");
}
public void setLegs(int l){
if(l!=0&&l!=2&&l!=4){
System.out.println("Wrong Number Of Legs");
}
}
public void setKind(String str){
kinds=str;
}
}
public class Fish extends Animal{
public Fish(0){
setLegs(0);
setKind("Fish");
}
public static void main(String[]args){
Fish fish=new Fish();
fish.eat();
fish.move();
}
}
最佳答案
  • 五星知识达人网友:三千妖杀
  • 2021-04-04 08:41
编译器不会根据上下文推到0是什么类型,你这里必须标明Fish的构造函数的参数类型,你可以
public Fish(){
setLegs(0);
setKind("Fish");
}
// 降低访问级别不给访问 这个构造
private Fish(int leg){

}
// 或者给访问,但leg没有用
public Fish(int leg){
this.()
}
// 最后问一下:你这类型继承的修饰符确定没问题?父类 默认friendly 子类 public,这也行?请允许很久没有写java的小白问下这个问题
全部回答
  • 1楼网友:人间朝暮
  • 2021-04-04 08:53
public class newclass{ //第一个public 类型的class package com; //检查下是否应该放这里呢?往上移到class前面是否这样呢? public class point //第二个public类型的class { private string x; private string y; public string getx() { return x; } public void setx(string x) { this.x = x; } public string gety() { return y; } public void sety(string y) { this.y = y; } } }
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯