使用设计模式应该能让代码看起来更优雅,但是你不一定能理解。所以暂且就写成下面这样吧。
public abstract class Student {
protected int xh;
protected String xm;
protected char xb;
protected double sg;
public void information() {
System.out.println("学号:" + xh);
System.out.println("姓名:" + xm);
System.out.println("性别:" + xb);
System.out.println("身高:" + sg);
System.out.println("--------------------");
}
}
public class ZhangSan extends Student {
public ZhangSan() {
this.xh = 110;
this.xm = "张三";
this.xb = '男';
this.sg = 1.85;
}
}
public class LiSi extends Student {
public LiSi() {
this.xh = 120;
this.xm = "李四";
this.xb = '女';
this.sg = 1.65;
}
}
public class StartMain {
public static void main(String[] args) {
new ZhangSan().information();
new LiSi().information();
}
在父类实现 然后用调用
/**
* 你写的代码的情况是一个类的多个实例
* 只需要实例化Student赋值不同实例的参数即可实现 张三、李四。。。。
*/
public class Student {
private int xh;
private String xm;
public int getXh() {
return xh;
}
public void setXh(int xh) {
this.xh = xh;
}
public String getXm() {
return xm;
}
public void setXm(String xm) {
this.xm = xm;
}
public char getXb() {
return xb;
}
public void setXb(char xb) {
this.xb = xb;
}
public double getSg() {
return sg;
}
public void setSg(double sg) {
this.sg = sg;
}
private char xb;
private double sg;
public void information(){
System.out.println("学号:" + xh);
System.out.println("姓名:" + xm);
System.out.println("性别:" + xb);
System.out.println("身高:" + sg);
}
public static void main(String[] args) {
//实例化张三, zhangsanStudent 是 Student 类实例化后的一个具体对象
Student zhangsanStudent = new Student();
zhangsanStudent.setXh(110);
zhangsanStudent.setXm("张三");
zhangsanStudent.setXb('男');
zhangsanStudent.setSg(1.8);
zhangsanStudent.information();
System.out.println("------------------------------------");
//实例化李四, lisiStudent 是 Student 类实例化后的一个具体对象
Student lisiStudent = new Student();
lisiStudent.setXh(120);
lisiStudent.setXm("李四");
lisiStudent.setXb('女');
lisiStudent.setSg(1.65);
lisiStudent.information();
//.....可以实例化无数个学员对象 Student wangwuStudent = new Student();
}
}
如有帮助,请采纳!!!
关于多态讲解,可以看一下廖老师的博文
多态 - 廖雪峰的官方网站