java新手笔记20 抽象类模板(letter)
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());
}
}
}
java新手笔记20 抽象类模板(letter)的更多相关文章
- java新手笔记19 抽象类
1.Shap package com.yfs.javase; public class Shape /*extends Object */{ //默认继承object object方法全部继承 //计 ...
- JAVA自学笔记20
JAVA自学笔记20 1.递归: 1)方法定义中定义中调用方法本身的现象 2)要有出口,否则就是死递归 次数不能太多.否则内存将溢出 构造方法不能递归使用 //斐波那契数列:1,1,2,3,5,8,1 ...
- 0026 Java学习笔记-面向对象-抽象类、接口
抽象方法与抽象类 抽象方法用abstract修饰,没有方法体部分,连花括号都不能有: 抽象方法和抽象类都用abstract修饰 包含抽象方法的类一定是抽象类:但不包含抽象方法的类也可以是抽象类 不能创 ...
- java新手笔记32 jdk5新特性
1.for package com.yfs.javase; import java.awt.Color; import java.util.Calendar; import java.util.Has ...
- java新手笔记31 集合实现类
Person类: package com.yfs.javase; import java.util.Date; public class Person implements Comparable { ...
- java新手笔记27 监听器类
1.外部类监听 package com.yfs.javase; import java.awt.Button; import java.awt.FlowLayout; import java.awt. ...
- java新手笔记26 Frame
0.Calculater package com.yfs.javase; import java.awt.BorderLayout; import java.awt.Button; import ja ...
- java新手笔记23 异常
1.import package com.yfs.javase; import java.util.Scanner; //import java.lang.String;//默认导入 public c ...
- java新手笔记22 接口示例2
1.USB package com.yfs.javase; public interface USB { //定义规范 public void read(); public void write(); ...
随机推荐
- 用BigDecimal类实现Fibonacci算法
Fibonacci(N)=Fibonacii(N-1)+Fibonacci(N-2) 其中 Fibonacci(0)=0;Fibonacci(1)=1 用循环或则递归实现Fibonacci算法很简单, ...
- c#文件转化byte数组
public static byte[] ReadFile(string fileName) { if (!File.Exists(fileName)) { throw new Exception(& ...
- 小波变换和motion信号处理(二)(转)
写的太好,这是第二篇:http://www.kunli.info/2011/02/18/fourier-wavelet-motion-signal-2/ 这是<小波变换和motion信号处理&g ...
- 扫描线专题 hdu1255
hdu1255 求覆盖至少两次的面积,和直接求覆盖面积比,就是保证cover>1就可以了. 没有进行lazy操作,因为每一次更新伴随着询问,感觉没有必要.982MS水过. #include &l ...
- PC-博客首页中增加必应或GOOGLE搜索功能
<script type="text/javascript" language="javascript"> function SearchGoogl ...
- hdoj 1012 u Calculate e
u Calculate e Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Tot ...
- Oracle数据库字符串连接方法
转至:http://database.51cto.com/art/201011/232267.htm 和其他数据库系统类似,Oracle字符串连接使用“||”进行字符串拼接,其使用方式和MSSQLSe ...
- 【三支火把】---常用C语言控制台函数总结(持续更新)
写了这么久的C程序,每次看到输出的结果都是从上往下排列的黑白框,有没有感觉很无聊啊?今天再次总结一个常用的控制台函数,能够帮助你做好一个好看的界面. 1.设置光标位置代码如下: int main(vo ...
- hdu 4635 Strongly connected(Tarjan)
做完后,看了解题报告,思路是一样的.我就直接粘过来吧 最终添加完边的图,肯定可以分成两个部X和Y,其中只有X到Y的边没有Y到X的边,那么要使得边数尽可能的多,则X部肯定是一个完全图,Y部也是,同时X部 ...
- Activity的启动模式总结
<activity android:name="ActivityMain" android:launchMode="singleTask">< ...