我试图让我的代码创建新的构造函数对象,我需要创建一个移动电话对象.我已经尝试命名constuctor字段来创建对象.
更新:我已修改string为String,但是现在当我更新它时,我收到错误:
error: constructor Mobile(java.lang.String,int,int,java.lang.String,int,java.lang.String) is already defined in class Mobile
Run Code Online (Sandbox Code Playgroud)
此错误出现在页面底部:
public Mobile(String MobilephoneType, int Mobilescreensize, int Mobilememorycardcapacity, String newserviceprovider, int Mobilecameraresolution,
String MobileGPS) {
Run Code Online (Sandbox Code Playgroud)
这个错误是什么意思?
到目前为止的代码:
/**
* to write a simple java class Mobile that models a mobile phone.
*
* @author (Lewis Burte-Clarke)
* @version (14/10/13)
*/
public class Mobile
{
// type of phone
private String phonetype;
// size of screen in inches
private int screensize;
// menory card capacity
private int memorycardcapacity;
// name of present service provider
private String serviceprovider;
// type of contract with service provider
private int typeofcontract;
// camera resolution in megapixels
private int cameraresolution;
// the percentage of charge left on the phone
private int checkcharge;
// wether the phone has GPS or not
private String GPS;
// instance variables - replace the example below with your own
private int x;
// The constructor method
public Mobile(String mobilePhoneType, int mobileScreenSize,
int mobileMemoryCardCapacity, String newserviceprovider, int mobileCameraResolution,
String mobileGPS) {
this.phonetype = mobilePhonetype;
this.screensize = mobileScreensize;
this.memorycardcapacity = mobileMemoryCardCapacity;
this.cameraresolution = mobileCameraResolution;
this.GPS = mobileGPS;
// you do not use this ones during instantiation,you can remove them if you do not need or assign them some default values
this.serviceprovider = newserviceprovider;
this.typeofcontract = 12;
this.checkcharge = checkcharge;
}
// A method to display the state of the object to the screen
public void displayMobileDetails() {
System.out.println("phonetype: " + phonetype);
System.out.println("screensize: " + screensize);
System.out.println("memorycardcapacity: " + memorycardcapacity);
System.out.println("cameraresolution: " + cameraresolution);
System.out.println("GPS: " + GPS);
System.out.println("serviceprovider: " + serviceprovider);
System.out.println("typeofcontract: " + typeofcontract);
}
public Mobile(String MobilephoneType, int Mobilescreensize, int Mobilememorycardcapacity, String newserviceprovider, int Mobilecameraresolution,
String MobileGPS) {
this.phonetype = Mobilephonetype;
this.screensize = 3;
this.memorycardcapacity = 4;
this.cameraresolution = 8;
this.GPS = GPS;
this.serviceprovider = newserviceprovider;
this.typeofcontract = 12;
this.checkcharge = checkcharge;
}
}
class mymobile {
public static void main(String[] args) {
Mobile Samsung = new Mobile("Samsung", "3", "4", "8",
"GPS");
Mobile Blackberry = new Mobile("Blackberry", "3.", "4",
"8", "GPS");
Samsung.displayMobileDetails();
Blackberry.displayMobileDetails();
}
}
Run Code Online (Sandbox Code Playgroud)
string 应为大写S.您的字符串类型为小写 s
private String phonetype;
Run Code Online (Sandbox Code Playgroud)
Java区分大小写.String是一个从Object类扩展的类,这就是它大写的原因,就像它一样Integer.然而,原始类型不capitlized(即boolean,int,char).