大神快来帮帮我吧

crazyprogrammer0 2013-07-25 09:19:56
定义一个 IShowable接口,其中包含抽象方法 void show();
定义Test类,并提供方法 void showObject(IShowable obj),该方法用于显示参数obj对象的内容;
要求:定义一个成员内部类Employee,该类实现IShowable接口,show方法显示员工信息;
定义一个局部内部类Manager ,该类实现IShowable接口,show方法显示管理人员信息;
测试:在Test类的main方法中构造员工类对象和管理人员对象,并调用showObject方法显示每个对象的信息。然后基于IShowable接口构造一个局部匿名内部类对象,将此对象传入showObject()方法显示其内容。
...全文
188 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
crazyprogrammer0 2013-07-27
  • 打赏
  • 举报
回复
谢谢,谢谢大神,以后希望你能多帮帮我,带带我
oh_Maxy 2013-07-27
  • 打赏
  • 举报
回复
引用 2 楼 qq1145174853 的回复:
二楼强悍
2L强悍?
S117 2013-07-26
  • 打赏
  • 举报
回复


public interface IShowable {
	public void show();
}

public class Test {
	public void showObject(IShowable obj){
		obj.show();
	}
	class Employee implements IShowable{
		@Override
		public void show() {
			System.out.println("我是员工");
		}
	}
	public IShowable getManager(){
		return new IShowable(){

			@Override
			public void show() {
				System.out.println("我是管理员");
			}
			
		};
	}
	public static void main(String[] args) {
		Test test = new Test();
		IShowable showable1 = test.new Employee();
		IShowable showable2 = test.getManager();
		test.showObject(showable1);
		test.showObject(showable2);
		test.showObject(new IShowable() {
			
			@Override
			public void show() {
				System.out.println("我是匿名内部类");
			}
		});
	}
}

是这样的吗?
S117 2013-07-26
  • 打赏
  • 举报
回复
并且我的比较由于long转int,你会发现比较有问题,而调用this.getBirthday().compareTo(student.getBirthday()); 则不会,希望你在实际项目中不要像我那么写!
S117 2013-07-26
  • 打赏
  • 举报
回复

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;


public class Student implements Comparable {
	private int id;
	private String name;
	private Date birthday;
	
	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public Date getBirthday() {
		return birthday;
	}

	public void setBirthday(Date birthday) {
		this.birthday = birthday;
	}

	@Override
	public int compareTo(Object object) {
		if(object != null && object instanceof Student){
			Student student = (Student)object;
			return (int)(this.birthday.getTime() - student.birthday.getTime());
		}
		return 0;
	}
	@Override
	public String toString() {
		DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		return this.getId() + " ; " +this.getName() + " ; " + df.format(this.getBirthday());
	}
}
import java.util.Arrays;
import java.util.Calendar;


public class ComparableStudent {
	
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		Student[] students = new Student[10];
		Calendar calendar = Calendar.getInstance();
		for(int i = 0 ; i < 10 ; i++){
			Student student = new Student();
			student.setId(i);
			student.setName("name" + i);
			calendar.add(calendar.DAY_OF_MONTH, i);
			student.setBirthday(calendar.getTime());
			students[9-i] = student;
		}
		System.out.println("排序前......");
		for(Student student : students){
			System.out.println(student);
		}
		System.out.println("排序后......");
		Arrays.sort(students);
		for(Student student : students){
			System.out.println(student);
		}		
	}

}


这道题目考察你compareTo方法比较两个对象 if(object != null && object instanceof Student) 这个判断语句判断要比较的对象不为null,并且是Student的实例,这样才可以向下转型为Student Student student = (Student)object;也就是这句话 compareTo方法返回一个int值 如果A和B比较,A在前的话,返回负数,B在前返回整数,相等返回0 其实Date对象实现了compareTo方法 你也可以这样写 this.getBirthday().compareTo(student.getBirthday()); 我那么写并不好,但是希望你明白怎么比较的!
crazyprogrammer0 2013-07-26
  • 打赏
  • 举报
回复
谢谢大神,我刚学java,这块学的有点蒙,能帮我再看看这道题吗? 自定义学生类(包含编号,姓名,出生日期属性),实现Comparable接口,构造10个学生对象放入数组中,然后调用Arrays.sort()方法实现按照学生的出生日期排序。
lkq_david 2013-07-26
  • 打赏
  • 举报
回复
二楼强悍
小白利用PHP+MYSQL+HTML做的期末小项目,做的不好大家勿喷,还请多多指正。 用的是以前模仿做的HTML淘宝网静态页面,接连上数据库加入图片和信息,实现后台与前端的连接,实现了增删改查功能美化做的不好还请大家勿喷。呜呜呜,做了很久也只能实现这样一个效果了,要是有大神希望帮帮我改改项目,静态页面的美化会做,但是连接上PHP数据库后出来的一个效果如何美化就不知道如何才能实现了,希望有大佬教教我,可以看看我的整体一个作品,至少基础功能都可以实现,里面还放了几张同学的照片哈哈哈,皮一下,看到了不要骂我宝贝……最后一个重中之重,如何美化界面还请大神指点啊哈哈哈哈…………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………

62,612

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧