静态字段即类字段,每个实例共享类字段。类字段属于类,不属于任一个对象,可不依赖对象而存在。
书上用这个例子示范了类字段的用法,但我看不出类字段的使用有什么优点。求答。
ublic class StudentTest2
{
public static void main(String[] args)
{
int i;
for(i = 0; i < 10; i++)
{
Student tom = new Student("Tom" + i );
if(i % 2 == 0)
{
tom.setStudentSex("man");
} else
{
tom.setStudentSex("female");
}
tom.setStudentAddress("America");
tom.setStudentNumber();
System.out.println(tom.toString());
}
}
}
class Student
{
private String strName = "";//学生姓名
private int number = 0;//学号
private String strSex = "";//性别
private String strBirthday = "";//出生年月
private String strSpeciality = "";//专业
private String strAddress = "";//地址
private static int nextNumber = 1;
public Student(String name)
{
strName = name;
}
public String getStudentName()
{
return strName;
}
public int getStudentNumber()
{
return number;
}
public void setStudentNumber()
{
number = nextNumber;
nextNumber++;
}
public void setStudentSex(String sex)
{
strSex = sex;
}
public String getStudentSex()
{
return strSex;
}
public String getStudentBirthday()
{
return strBirthday;
}
public void setStudentBirthday(String birthday)
{
strBirthday = birthday;
}
public String getStudentSpeciality()
{
return strSpeciality;
}
public void setStudentSpeciality(String speciality)
{
strSpeciality = speciality;
}
public String getStudentAddress()
{
return strAddress;
}
public void setStudentAddress(String address)
{
strAddress = address;
}
public String toString()
{
String information = "学生姓名=" + strName + ", 学号=" + number;
if( !strSex.equals("") )
information += ", 性别=" + strSex;
if( !strBirthday.equals(""))
information += ", 出生年月=" + strBirthday;
if( !strSpeciality.equals("") )
information += ", 专业=" + strSpeciality;
if( !strAddress.equals("") )
information += ", 籍贯=" + strAddress;
return information;
}
}
谢谢。
----------------解决方案--------------------------------------------------------
静态的可以不用声明类就可以用,如果你是在其他的地方用只要把这个包加进去就可以用了.
----------------解决方案--------------------------------------------------------
静态字段是属于类的东西,是所有这个类的实例所共享的
你每次调用public void setStudentNumber()的时候,它就会使你的静态变量加1,
这样就可以知道你调用了多少次setS...
----------------解决方案--------------------------------------------------------
还有个好处是在连数据库的时间体现的..因为在连数据库之前都要先确定驱动,把连驱动部分写成一个STATIC{}中..就可以在运行程序时就加载了驱动..很方便.
至于这种方法好不好我就不知道了.是我在一本书中看到了..
----------------解决方案--------------------------------------------------------
静态方法是类的,最先被加载
----------------解决方案--------------------------------------------------------