package zhu;
public class test {
public static void main(String[] args){
Person p=new Person();
p.Person1("猪",10);
p.Person2("猪",10,"动物园");
p.Person3("猪",10,"动物园","大的");
System.out.println(p.Person1());
System.out.println(p.Person2());
System.out.println(p.Person3());
}
}
package zhu;
public class Person {
public String name;
public int age;
public String school;
public String major;
public void Person1(String n, int a) {
name = n;
age = a;
}
public String Person1() {
return name;
return age;
}
public String Person2(String n,int a,String s) {
name = n;
school = s;
age = a;
}
public String Person2() {
return age;
return name;
return school;
}
public void Person3(String n,int a,String s,String m) {
name = n;
school = s;
age = a;
major = m;
}
public double Person3() {
return name;
return age;
return school;
return major;
}
}
首先编译器可以生成不同参数的构造器(都是类名,不用person1、person2这种)
加油学习吧!代码如下:
package zhu;
public class test1 {
public static void main(String[] args){
Person p=new Person("猪",10);
Person p2=new Person("猪",10,"动物园");
Person p3=new Person("猪",10,"动物园","大的");
System.out.println(p.toString());
System.out.println(p2.toString());
System.out.println(p3.toString());
}
}
package zhu;
public class Person {
public String name;
public int age;
public String school;
public String major;
public Person(String name) {
this.name = name;
}
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public Person(String name, int age, String school) {
this.name = name;
this.age = age;
this.school = school;
}
public Person(String name, int age, String school, String major) {
this.name = name;
this.age = age;
this.school = school;
this.major = major;
}
@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
", age=" + age +
", school='" + school + '\'' +
", major='" + major + '\'' +
'}';
}
}
//return name 要干两件事情 返回 name 并停止Person3()这个方法继续执行 所以 下面的三个 return 是不会执行的 可能是这个原因 其他类似的方法也有这个问题 ,你把控制台的贴出来看下
public double Person3() {
return name;
return age;
return school;
return major;
}
Person类漏洞百出。。建议先学基础。