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(); ...
随机推荐
- ACM 2015年上海区域赛A题 HDU 5572An Easy Physics Problem
题意: 光滑平面,一个刚性小球,一个固定的刚性圆柱体 ,给定圆柱体圆心坐标,半径 ,小球起点坐标,起始运动方向(向量) ,终点坐标 ,问能否到达终点,小球运动中如果碰到圆柱体会反射. 学到了向量模板, ...
- Azure 虚拟机常见问题-下
虚拟机上的默认用户名和密码是什么? Azure 提供的映像没有预先配置用户名和密码.使用这些映像中的其中一个创建虚拟机时,你需要提供用户名和密码,用于登录到虚拟机. 提示 如果忘记了用户名或密码且安装 ...
- 如何把.rar文件隐藏在一个图片内
首先假设我们要隐藏的.rar文件叫a.rar,图片叫a.jpg.先把他俩放到同一个目录下,然后通过“cmd”进入windows命令行,进入目标目录下,使用以下命令进行隐藏: copy/B a.jpg ...
- OS X: Keyboard shortcuts
Using keyboard shortcuts To use a keyboard shortcut, press a modifier key at the same time as a char ...
- 问题-delphi XE2 Stack Overflow- save your work and restart CodeGear
问题现象:某一天,启动DLEPHI XE2 后,新建一个工程,双击一个事件,“Stack Overflow- save your work and restart CodeGear delphi xe ...
- 前端javascript规范文档 (http://www.xuanfengge.com/category/web)
说明:本文档为前端JS规范 一.规范目的 为提高团队协作效率,便于前端后期优化维护,输出高质量的文档. 二.基本准则 符合web标准,结构表现行为分离,兼容性优良.页面性能方面,代码要求简洁明了有序, ...
- Away3D 的实体收集器Bug
最近在改Away3D源码的时候遇到个很郁闷的问题,发现创建的Mesh 释放不掉. 分析源码发现 EntityListItemPool 类中逻辑Bug在getItem()函数中发现_poolSize 对 ...
- 为什么Form.Timer的event handler在Form被Dispose之后还是被调到了?
博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:为什么Form.Timer的event handler在Form被Dispose之后还是被调到了?.
- -bash: ls: command not found
在iMac下ls既然command not found,查找了下 原因:在设置环境变量时,编辑profile文件没有写正确,导致在命令行下 ls等命令不能够识别.解决方案: 直接在控制台下 expo ...
- Lucene教程具体解释
(建立索引)] )中生成的索引文件的存放地址.详细步骤简单介绍例如以下: 1.创建Directory对象,索引目录 2.创建IndexSearch对象,建立查询(參数是Directory对象) 3.创 ...