public class ClassHome {
private int h;
private Student s;
private final Teacher t;
private final int num;
public ClassHome() {
this.num=0;
}
public ClassHome(int h, Student s, Teacher t,int num) {
if(num<0){
this.num=0;
System.out.println("人数太少,不能开班!");
}else{
this.num=num;
}
this.s=s;
this.t=t;
}
public int getH() {
return h;
}
public Teacher getT() {
return t;
}
public int getNum() {
return num;
}
public void setS(Student s) {
this.s = s;
}
}
private int h;
private Student s;
private final Teacher t;
private final int num;
public ClassHome() {
this.num=0;
}
public ClassHome(int h, Student s, Teacher t,int num) {
if(num<0){
this.num=0;
System.out.println("人数太少,不能开班!");
}else{
this.num=num;
}
this.s=s;
this.t=t;
}
public int getH() {
return h;
}
public Teacher getT() {
return t;
}
public int getNum() {
return num;
}
public void setS(Student s) {
this.s = s;
}
}
解决方案 »
- 菜单不能正常显示!!
- 关于JAVA SQL的问题
- 程序运行结果出现乱码,怎么回事?
- 有关类反射机制的一个问题,详细解决调试通过的给分,不够可以再加
- 我从文件中一行一行读数据,用的是DataInputStream,但是文件太大就出问题了,怎么回事,最大是多少?
- 如何通过列名获取表名?急切询问!
- 如何修改jar包的class文件。或者覆盖也可。在线等。。。。。
- 怎样为SSLContext创建一个实例?
- jsp后缀名大小写问题(急,在线等!)
- 各位仁兄,有人知道如何让运行于windows机上软件可以在苹果机os2上正常运行啊?是否可以在苹果机的os2上装个软件即可?不胜感谢!!!
- 关于persistence包使用的问题!!!!(javax.persistence.*)
- 如何确定某个节点在一颗树中的具体位置?
2、不知道你在说什么。。你的代码考过去一堆问题,姑且不说teacher、student没定义。private final Teacher t; this.t=t; 这可能吗?
public class Teacher extends Person {
private String dept; public Teacher() {
} public Teacher(String name, int age, String sex,String dept) {
super(name, age, sex);
setDept(dept);
} public String getDept() {
return dept;
} public void setDept(String dept) {
this.dept = dept;
}
}public class Student
extends Person {
private int id;public Student() {}public Student(String name, int age, String sex,int id) {
super(name, age, sex);
setId(id);
}public int getId() {
return id;
}public void setId(int id) {
if(id<0){
System.out.println("学号输入有误!");
}else{
this.id = id;
}
}
}
public class Person {
private String name;
private int age;
private String sex;
public Person() {
}
public Person(String name, int age, String sex) {
this.setName(name);
this.setAge(age);
this.setSex(sex);
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
if(age<0||age>150){
System.out.println("年龄输入有误!");
}else{
this.age = age;
}
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
}
public class ClassHome {
private int h;
private Student s;
private final Teacher t;
private final int num;
public ClassHome() {
this.num=0;
}
public ClassHome(int h, Student s, Teacher t,int num) {
if(num<0){
this.num=0;
System.out.println("人数太少,不能开班!");
}else{
this.num=num;
}
this.s=s;
this.t=t;
}
public int getH() {
return h;
}
public Teacher getT() {
return t;
}
public int getNum() {
return num;
}
public void setS(Student s) {
this.s = s;
}
}
这个程序是不能通过编译的private final int num;
既然你想让num为final,你就应该在这里给他赋值,而且永远不改变this.num=0; 如果你想改变num的值,就不该用final来限制num
private final int num;既然是final,当然就不能再赋值啦
num为final型,就应该赋初值,并且以后就不能再赋值了
这个就相当于一个固定整数
但只能赋值一次,在构造方法中赋值绝对没有任何问题。你的无参构造并不是不能给this.num赋值的问题,而是没有为Teacher t赋值。