java中创建一个对象
publicclassBike{//对象的标识符intcolour;intmaterial;inttype;inta;//对象的状态属性//对象的行为Bike(inta)...
public class Bike {
// 对象的标识符
int colour;
int material;
int type;
int a;// 对象的状态属性
// 对象的行为
Bike(int a) {
this.a = a;
}
void ride() {
}
void control(int a) {
if (a == 1) {
System.out.println("转弯");
}
else if (a == 2) {
System.out.println("直行");
}
else if (a == 3) {
System.out.println("停止");
}
else {
System.out.println("对不起,此命令不存在");
}
}
public static void main(String[] args) {
Bike a = new Bike();
a.control(1);
}
}
为什么在Bike a = new Bike();时,系统提示The constructor Bike() is undefined 展开
// 对象的标识符
int colour;
int material;
int type;
int a;// 对象的状态属性
// 对象的行为
Bike(int a) {
this.a = a;
}
void ride() {
}
void control(int a) {
if (a == 1) {
System.out.println("转弯");
}
else if (a == 2) {
System.out.println("直行");
}
else if (a == 3) {
System.out.println("停止");
}
else {
System.out.println("对不起,此命令不存在");
}
}
public static void main(String[] args) {
Bike a = new Bike();
a.control(1);
}
}
为什么在Bike a = new Bike();时,系统提示The constructor Bike() is undefined 展开
6个回答
展开全部
错误代码是下面这行
Bike a = new Bike();
java构造方法机制是,如果类中不写构造方法,那么默认构造方法为(已你的类为例)
public Bike() {
}
像你这样自定义了一个构造方法
Bike(int a) {
this.a = a;
}
自定义构造方法后,默认构造方法不存在了。
由此可得,你的错误有2中解决方法
1.再写一个空构造方法
Bike() {}
2.创建对象时带参数
Bike a = new Bike(1);
另外对象名尽量不要和全局变量命名一样,虽然程序不错,但容易混淆!
希望对你有所帮助,有什么其他疑问你也可以百度HI我
Bike a = new Bike();
java构造方法机制是,如果类中不写构造方法,那么默认构造方法为(已你的类为例)
public Bike() {
}
像你这样自定义了一个构造方法
Bike(int a) {
this.a = a;
}
自定义构造方法后,默认构造方法不存在了。
由此可得,你的错误有2中解决方法
1.再写一个空构造方法
Bike() {}
2.创建对象时带参数
Bike a = new Bike(1);
另外对象名尽量不要和全局变量命名一样,虽然程序不错,但容易混淆!
希望对你有所帮助,有什么其他疑问你也可以百度HI我
展开全部
你的构造方法带参数了的, 构造方法不同于普通的行为方法, 构造方法在你NEW这个对象的时间JAVA虚拟机会自动调用,你没传参数 ,所以报错, 改为Bike a = new Bike(1);
或者写一个空的构造方法, 把你写的构造方法删了, 默认会提供一个无参数的构造方法 。。 希望你明白了
或者写一个空的构造方法, 把你写的构造方法删了, 默认会提供一个无参数的构造方法 。。 希望你明白了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
因为java类一般会自带一个无参数的构造器,
但是如果你显示的定义了构造器
不管是无参数还是有参数的都会以显示的为准!
那么你的程序里刚好有一个显示的构造器
Bike(int a) {
this.a = a;
}
那么在实例化在对象时就只能采用该构造器!
构造器也是函数 因此必须正确使用!
也就是说你必须带一个int型的参数
但是如果你显示的定义了构造器
不管是无参数还是有参数的都会以显示的为准!
那么你的程序里刚好有一个显示的构造器
Bike(int a) {
this.a = a;
}
那么在实例化在对象时就只能采用该构造器!
构造器也是函数 因此必须正确使用!
也就是说你必须带一个int型的参数
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Bike(int a) {
this.a = a;
}
构造器带参数
Bike a = new Bike(100);
this.a = a;
}
构造器带参数
Bike a = new Bike(100);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你没有提供空参构造器,加上就好了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询