1.抽象类
package com.yfs.javase; //信模板 public abstract class Templater { public abstract String toName() ; public abstract String fromName(); public abstract String getContent(); public void show() { System.out.println("尊敬的" + toName()); System.out.println("\t您好!"); System.out.println("\t\t" + getContent()); System.out.println("\t\t\t 此致 \n\t\t\t\t 敬礼" ); System.out.println("\t\t\t\t" + fromName()); System.out.println("\t\t\t\t 2015.7.25" ); } }
2.继承 抽象类
package com.yfs.javase; public class MyLetter extends Templater { @Override public String toName() { return "影分身"; } @Override public String fromName() { return "yfs"; } @Override public String getContent() { return "来学java,so easy!"; } } class le extends Templater { @Override public String toName() { // TODO Auto-generated method stub return "Tom"; } @Override public String fromName() { // TODO Auto-generated method stub return "lily"; } @Override public String getContent() { // TODO Auto-generated method stub return "使用抽象类"; } }
3.测试 模板
package com.yfs.javase; public class Test { public static void main(String[] args) { MyLetter letter = new MyLetter(); letter.show(); Templater l = new MyLetter(); l.show(); l = new le(); l.show(); } }
4.类的继承 实例
package com.yfs.javase; public class Student { private String name; private char sex; private int age; private int sno; private double middle; private double temp; // 计算综合成绩方法 public double getTotal() { return 0; } @Override public String toString() { return "Student [name=" + name + ", sex=" + sex + ", age=" + age + ", sno=" + sno + ", middle=" + middle + ", temp=" + temp + "]"; } public Student(String name, char sex, int age, int sno, double middle, double temp) { super(); this.name = name; this.sex = sex; this.age = age; this.sno = sno; this.middle = middle; this.temp = temp; } public double getMiddle() { return middle; } public void setMiddle(double middle) { this.middle = middle; } public double getTemp() { return temp; } public void setTemp(double temp) { this.temp = temp; } public String getName() { return name; } public void setName(String name) { this.name = name; } public char getSex() { return sex; } public void setSex(char sex) { this.sex = sex; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public int getSno() { return sno; } public void setSno(int sno) { this.sno = sno; } }
5. Computer 继承Student
package com.yfs.javase; public class Computer extends Student { private double operator; private double write; public double getTotal() { return operator * 0.4 + write * 0.2 + getMiddle() * 0.2 + getTemp() * 0.2; } public Computer(String name, char sex, int age, int sno, double middle, double temp, double operator, double write) { super(name, sex, age, sno, middle, temp); this.operator = operator; this.write = write; } public double getOperator() { return operator; } public void setOperator(double operator) { this.operator = operator; } public double getWrite() { return write; } public void setWrite(double write) { this.write = write; } }
6.English 继承 Student
package com.yfs.javase; public class English extends Student { private double speak; public English(String name, char sex, int age, int sno, double middle, double temp, double speak) { super(name, sex, age, sno, middle, temp); this.speak = speak; } public double getSpeak() { return speak; } public void setSpeak(double speak) { this.speak = speak; } @Override public double getTotal() { return speak * 0.5 + getMiddle() * 0.25 + getTemp() * 0.25; } }
7.测试 继承
package com.yfs.javase; import java.util.Random; public class StudentTest { /** * @param args */ public static void main(String[] args) { Student[] s = new Student[5]; // s[0] = new English("张三", '男', 20, 5927, 85, 95, 100); // System.out.println("english : " + s[0].getTotal()); // s[1] = new Computer("李四", '女', 21, 110, 90, 100, 85, 92); // System.out.println(s[1].getTotal()); String[] names = {"张","王","李","赵"}; Random ran = new Random(); for (int i = 0; i < s.length; i++) { int r = ran.nextInt(101); if(r > 50) { s[i] = new English(names[ran.nextInt(4)] + i, ran.nextBoolean() ? '男' : '女', 20, 5927, 85, 95, 100); } else { s[i] = new Computer(names[ran.nextInt(4)] + i, ran.nextBoolean() ? '男' : '女', 21, 110, 90, 100, 85, 92); } } for (int i = 0; i < s.length; i++) { System.out.println(s[i] + " 综合成绩 :"+ s[i].getTotal()); } } }