解决方案 »
- DatagramSocket的receive问题
- linux初使用,安装官网最新jdk郁闷问题
- 关于 new String(bytes) 的问题
- cmd中运行javac正常,可是出现特殊字符
- IO问题,急!
- 能不能对一个对象进行某个操做后,以后在多线程时,在任何地方对这个对象的任何属性的写操做就变成同步的。
- hibernate和spring的整合
- 做swing程序时如何在不同的容器中传递事件
- 关于 static 的概念问题,高手指教
- Java Application 中如何打开一个Excel文件???
- 求教贴!如何用annotation替代xml配置hibernate?
- JDBC PreparedStatement executeBatch 如何忽略异常?
和普通的类一样,内部类也可以有静态的。不过和非静态内部类相比,区别就在于静态内部类没有了指向外部的引用。这实际上和C++中的嵌套类很相像了,Java内部类与C++嵌套类最大的不同就在于是否有指向外部的引用这一点上,当然从设计的角度以及以它一些细节来讲还有区别。 除此之外,在任何非静态内部类中,都不能有静态数据,静态方法或者又一个静态内部类(内部类的嵌套可以不止一层)。不过静态内部类中却可以拥有这一切。
return new Student(_name,_id,_sex,_age);
}
public static void main(String[] args) {
programe p = new programe();
p.Student stu = new p.getNewStu("lxr","10060",'b',20);
stu.showStudentInfo();
stu.setAge(21);
stu.showStudentInfo();
Student.setStudentSum(10);
}方法二,将Student类的定义放在programe类外边来。
public class programe {
public static void main(String[] args) { Student stu = new Student("lxr","10060",'b',20);
stu.showStudentInfo();
stu.setAge(21);
stu.showStudentInfo();
Student.setStudentSum(10);
}
}
class Student {
static int studentSum;
String name;
String id;
char sex;
int age; Student() {
name = "null";
id = "null";
sex = 'n';
age = 0; } Student(String _name, String _id, char _sex, int _age) {
name = _name;
id = _id;
sex = _sex;
age = _age;
} public void setName(String _name) {
name = _name;
} public void setId(String _id) {
id = _id;
} public void setSex(char _sex) {
sex = _sex;
} public void setAge(int _age) {
age = _age;
} public static void setStudentSum(int sum) {
studentSum = sum;
System.out.print("student sum = " + studentSum);
} public void showStudentInfo() {
System.out.println("Name : " + this.name + "\n" + "ID : " + this.id);
System.out.println("Sex :" + this.sex + "\n" + "Age :" + this.age);
};}