黑马程序员技术交流社区
标题:
建一个Student类定义些功能方法,再建student类的数组,怎么调用student中的方法呢?
[打印本页]
作者:
千曲生
时间:
2014-6-2 21:40
标题:
建一个Student类定义些功能方法,再建student类的数组,怎么调用student中的方法呢?
建好一个类并建立一个同类型的数组,无法调用此数组中的而方法:求大神指导
package day12;
public class Student {
String name;
int age;
public Student(){}
public void Stu(String name,int age){
this.name=name;
this.age=age;
System.out.println("name="+name);
System.out.println("age="+age);
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public static void main(String[] args)
{
Student[] arr=new Student[5];
// Student a=new Student("张三",20);
// arr[1]=new Student("李四",21);
// arr[2]=new Student("王二",22);
// arr[3]=new Student("麻子",23);
// arr[4]=new Student("小贱",24);
arr[0].Stu("张三",24);
arr[1].Stu ("李四",21);
arr[2].Stu ("王二",22);
arr[3].Stu ("麻子",23);
arr[4].Stu ("小贱",24);
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
}
}
复制代码
作者:
Boiled_Water
时间:
2014-6-2 21:53
LZ的构造方法不对,再有就是对数组附值时要用你注释掉的部分,要输入学生对象时,要重写toString()方法,实现对学生对象的属性输出。
public class Student {
String name;
int age;
public Student(){}
// public void Stu(String name,int age){
// this.name=name;
// this.age=age;
// System.out.println("name="+name);
// System.out.println("age="+age);
// }
public String getName() {
return name;
}
public Student(String name, int age) {
super();
this.name = name;
this.age = age;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "name="+this.name+";age="+this.age;
};
public static void main(String[] args)
{
Student[] arr=new Student[5];
// Student a=new Student("张三",20);
arr[0] = new Student("张三",20);
arr[1]= new Student("李四",21);
arr[2]=new Student("王二",22);
arr[3]=new Student("麻子",23);
arr[4]=new Student("小贱",24);
// arr[0].Stu("张三",24);
// arr[1].Stu ("李四",21);
// arr[2].Stu ("王二",22);
// arr[3].Stu ("麻子",23);
// arr[4].Stu ("小贱",24);
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
}
}
作者:
Boiled_Water
时间:
2014-6-2 21:54
public class Student {
String name;
int age;
public Student(){}
// public void Stu(String name,int age){
// this.name=name;
// this.age=age;
// System.out.println("name="+name);
// System.out.println("age="+age);
// }
public String getName() {
return name;
}
public Student(String name, int age) {
super();
this.name = name;
this.age = age;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "name="+this.name+";age="+this.age;
};
public static void main(String[] args)
{
Student[] arr=new Student[5];
// Student a=new Student("张三",20);
arr[0] = new Student("张三",20);
arr[1]= new Student("李四",21);
arr[2]=new Student("王二",22);
arr[3]=new Student("麻子",23);
arr[4]=new Student("小贱",24);
// arr[0].Stu("张三",24);
// arr[1].Stu ("李四",21);
// arr[2].Stu ("王二",22);
// arr[3].Stu ("麻子",23);
// arr[4].Stu ("小贱",24);
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
}
}
复制代码
作者:
chenzhiyuan
时间:
2014-6-2 22:09
package 论坛的问题;
public class Student {
String name;
int age;
public Student() {
}
//构造方法是这样写的,你那样都没那样干过,用自定义的名字,名字是类的名字,
public Student(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "Student [name=" + name + ", age=" + age + "]";
}
public static void main(String[] args) {
Student[] arr = new Student[5];
// Student a=new Student("张三",20);
// arr[1]=new Student("李四",21);
// arr[2]=new Student("王二",22);
// arr[3]=new Student("麻子",23);
// arr[4]=new Student("小贱",24);
arr[0] = new Student("王3二", 12);
arr[1] = new Student("王4二", 22);
arr[2] = new Student("王5二", 32);
arr[3] = new Student("王e二", 42);
// arr[4] = new Student("王e二", 42);
for (int i = 0; i < arr.length; i++) {
if (arr[i] != null) {
System.out.println(arr[i].toString());
}
}
}
}
作者:
多一点
时间:
2014-6-2 22:19
Students[] arr = new Students[5];
你这句代码我是这么理解的:
1.建立了一个
Students数组
2.而这个数组里装了
Students
类创建的5个对象
3.这5个对象都是null;
Student a=new Student("张三",20);
//这里是不可以这样的 你根本就没有这样的构造方法。当然就不能这样来建立对象啦。
public Students(String name , int age)
{
this.name = name;
this.age = age;
}
//你的这方法只是把name 和age 传参而已,不是用这两个属性去构造对象。也就是说传进去就相当于 setxxxx方法,只是同时set了两个属性值。
public void Stu(String name, int age)
{
this.name = name;
this.age = age;
System.out.println("name=" + name);
System.out.println("age=" + age);
}
你用数组去装对象,这样对象里的东西就不好拿啦,最好是用集合。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2