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(); ...
随机推荐
- HW1.2
public class Solution { public static void main(String[] args) { System.out.println("Welcome to ...
- HW1.1
public class Solution { public static void main(String[] args) { System.out.println("Welcome to ...
- wave文件(*.wav)格式、PCM数据格式, goldwave 可以播放pcm raw audio
1. 音频简介 经常见到这样的描述: 44100HZ 16bit stereo 或者 22050HZ 8bit mono 等等. 44100HZ 16bit stereo: 每秒钟有 44100 次采 ...
- mysql 中文乱码的解决办法
I would not suggest Richies answer, because you are screwing up the data inside the database. You wo ...
- java枚举enum
http://www.cnblogs.com/wenruo/p/5349614.html java的枚举通过关键字enum实现.可以理解为一个类,不过这个类由编译器自动加了一些方法. static v ...
- [五]JFreeChart实践四之直线图
重点: 1.时间序列集合作为dataset,一个时间序列为一条折线 2.时间序列可以是月:年,小时:天 3.准备好时间序列要放入时间序列集合中 4.将时间序列集合作为dataset传入ChartFac ...
- Google正确搜索方法
以下是目前所有的Google搜索命令语法,它不同于Google的帮助文档,因为这里介绍了几个Google不推荐使用的命令语法.大多数的Google搜索命令语法有它特有的使用格式,希望大家能正确使用.我 ...
- git 秘钥的生成
在命令查看自己的秘钥还是公钥 cat .ssh/id_rsa.pub/cat .ssh/id_rsa
- ListView多选操作模式详解CHOICE_MODE_MULTIPLE与CHOICE_MODE_MULTIPLE_MODAL
这篇文章我们将详细的介绍如何实现ListView的多选操作,文中将会纠正在使用ListViewCHOICE_MODE_MULTIPLE或者CHOICE_MODE_MULTIPLE_MODAL时容易犯的 ...
- httpClient实现获取网络信息
自己实现的抓取网络信息 package util; import java.io.IOException; import java.lang.reflect.Field; import java.ma ...