我有一个带有变量StudentID的班级Student:
public class Student extends Person{
int studentID = 0;
int level;
public Student(){
}
public Student(String fName, String lName, int gLevel){
super(fName, lName);
if(gLevel >= 0 && gLevel <= 12){
level = gLevel;
}
studentID++;
}
public int getLevel(){
return level;
}
public String toString(){
String toReturn;
toReturn = super.toString() + "\n Grade Level: " + level + "\n ID #: " + studentID;
return toReturn;
}
}
我希望变量StudentID继续分配给每个Student创建的新ID号。每个ID号都应比上一个创建的ID号大一个,并且应等于已创建的对象总数。现在,每个对象的ID号为1。
将studentID设为静态成员
静态成员将在整个类的每个实例中保留,无论有多少个clas实例。
public class Student extends Person{
static int studentID = 0;
int level;
public Student(){
}
public Student(String fName, String lName, int gLevel){
super(fName, lName);
if(gLevel >= 0 && gLevel <= 12){
level = gLevel;
}
studentID++;
}
public int getLevel(){
return level;
}
public String toString(){
String toReturn;
toReturn = super.toString() + "\n Grade Level: " + level + "\n ID #: " + studentID;
return toReturn;
}
}
尝试解决问题 http://www.hackerearth.com/problem/algorithm/sum-of-medians-1/ 并考虑使用多集来解决它,因为它可能包含重复的值。我尝试按如下方式编写代码:
问题内容: 在程序快要结束时,我希望将类的所有实例中的特定变量加载到字典中。 例如: 假设实例数量会有所不同,我希望将Foo()的每个实例的x dict加载到新的dict中。我该怎么办? 我在SO中看到的示例假定一个已经具有实例列表。 问题答案: 跟踪实例的一种方法是使用类变量: 在程序结束时,您可以像下面这样创建字典: 只有一个列表:
问题内容: 代码: 问题: 为什么Java允许执行以上代码,而C ++不允许执行? 上面的代码是否创建了无数个对象?由于本身包含一个对象,而该对象又包含一个本身具有对象的对象,依此类推。 问题答案: 两种语言之间关于您的问题的主要区别是Java是具有引用语义的语言(原始类型除外),而C ++是具有值语义的语言,该值允许通过引用和指针进行引用语义。 在两种语言中看起来 相似的 语法具有完全不同的含义
问题内容: 有没有办法从Java通用类的类型变量中获取Class对象?像这样: 此类型信息在编译时可用,因此不受类型擦除的影响,因此,从理论上讲,应该有一种方法来实现此目的。是否存在? 问题答案: 这有效:
如何在类中声明一个变量,该变量将跟踪创建的对象的计数?示例对象obj;obj.object_count();
问题内容: 我敢肯定有人在附近有一个可插拔的应用程序(或教程),但是我很难找到它:我希望能够跟踪特定对象的“视图”数量(就像这里的问题一样)在stackoverflow上有一个“视图计数”)。 如果用户未登录,则我不介意尝试放置cookie(或记录IP),以便他们不会因刷新页面而无意间增加视图计数;并且如果用户已登录,则仅允许他们跨会话/浏览器/ IP地址进行一个“查看”。我认为没有比这更理想的选