实例化方法一: public Student getNewStu(String _name,String _id,char _sex,int _age){ 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); };}
和普通的类一样,内部类也可以有静态的。不过和非静态内部类相比,区别就在于静态内部类没有了指向外部的引用。这实际上和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);
};}