zoukankan      html  css  js  c++  java
  • 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("	您好!");
    		System.out.println("		" + getContent());
    		System.out.println("			 此致 
    				 敬礼" );
    		System.out.println("				" + fromName());
    		System.out.println("				  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());
    		}
    	}
    
    }
    
  • 相关阅读:
    linux 学习(二)防火墙
    linux学习(一)开始
    ajax和sap以及网络安全
    仿苹果导航菜单js问题
    基本类型和引用类型调用是的区别(Object.create)
    箴言
    思维的宽度
    笔记
    循环传值_闭包
    一个问题的解法(兔子三个月之后每月都生兔子的问题)
  • 原文地址:https://www.cnblogs.com/feilongblog/p/4675727.html
Copyright © 2011-2022 走看看