我正在寻找问题的答案
答案 0 :(得分:1)
首先,您必须了解基本类型不是对象。它们的目的是帮助C用户切换到Java。此外,原始类型不存储任何实例变量,如对象,但它们本身就是值。
还值得注意的是,您也不需要调用扩展接口Number(Integer,Double,Long等)的任何类的构造函数。
Java中有一些问题,有时让它感觉它不完全像那样,但你应该在java中使用ethier原始类型或对象(除了,原始类型没有任何方法,所以你需要)用int
将Integer
转换为Integer.valueOf(n)
,然后才能调用toString()
)
答案 1 :(得分:0)
构造函数是一种特殊的方法,其目的是创建一个新的对象实例,因为原始数据类型不是对象,所以它们没有构造函数或与之关联的方法。
但是,对于某些原始数据类型,Java具有原始包装类。
包装类在Integer类的情况下非常有用,您可以使用parseInt(String s),toBinaryString(int i)等方法,或者对Integer对象执行某些操作
即:
Integer i = new Integer(7);
byte b = i.byteValue();
答案 2 :(得分:0)
声明原始类型,例如private void btnSave_Click(object sender, RoutedEventArgs e)
{
try
{
SqlConnection sqlCon = new SqlConnection(@"Data Source=(localdb)\mssqllocaldb; Initial Catalog=Storagedb;");
sqlCon.Open();
string Query1 = "insert into location(Storage, Shelf, columns, rows) values(" + txtWarehouse.Text + ", " + txtShelf.Text + ", " + txtColumn.Text + ", " + txtRow.Text + ")";
SqlCommand sqlCmd = new SqlCommand(Query1, sqlCon);
SqlDataAdapter dataAdp = new SqlDataAdapter(sqlCmd);
dataAdp.SelectCommand.ExecuteNonQuery();
sqlCon.Close();
}
catch (Exception er)
{
MessageBox.Show(er.Message);
}
try
{
SqlConnection sqlCon = new SqlConnection(@"Data Source=(localdb)\mssqllocaldb; Initial Catalog=Storagedb;");
sqlCon.Open();
string Query3 = "SELECT LOCATION_ID FROM LOCATION WHERE storage='" + txtWarehouse.Text + "' AND shelf='" + txtShelf.Text + "' AND columns='"
+ txtColumn.Text + "' AND rows='" + txtRow.Text + "'";
SqlCommand sqlCmd1 = new SqlCommand(Query3, sqlCon);
SqlDataReader dr = sqlCmd1.ExecuteReader(); ;
while (dr.Read())
{
string LocationId = dr[0].ToString();
dr.Close();
string Query2 = "insert into product(SKU, nimetus, minimum, maximum, quantity,location_ID,category_ID,OrderMail_ID) values ('" + txtSku.Text + "','" + txtNimetus.Text + "', '"
+ txtMin.Text + "', '" + txtMax.Text + "', '" + txtQuan.Text + "', '" + LocationId + "', '" + (cbCat.SelectedIndex+1) + "', '" + (cbMail.SelectedIndex+1) + "')";
SqlCommand sqlCmd = new SqlCommand(Query2, sqlCon);
SqlDataAdapter dataAdp = new SqlDataAdapter(sqlCmd);
dataAdp.SelectCommand.ExecuteNonQuery();
}
sqlCon.Close();
}
catch (Exception ed)
{
MessageBox.Show(ed.Message);
}
}
你可以看到它已经在生命中(即已经占用了记忆中的空间),即使它没有分配值,即使它没有被定义。
< / p>
首先,对象是一个由状态,行为和身份组成的抽象概念。
为了赋予对象生命,声明是不够的,它还需要定义,即调用 a costructor。
不确定的文章很重要:实际上一个对象可以有许多不同的签名者,提供了不同的方法来初始化它。因此,不同的costuctors导致不同的状态和行为,这就是为什么需要构建对象的原因。