关于GregorianCalendar类的一个问题
Calendar calendar = new GregorianCalendar();
这个声明里,为什么对象变量(句柄、引用)的类型不是GregorianCalendar?
这两个类之间有什么关系?
还有这个类的类名是 class CalendarTest.
为什么不可以声明CalendarTest 类型的变量?
谢谢!
----------------解决方案--------------------------------------------------------
GregorianCalendar是继承Calendar来的
----------------解决方案--------------------------------------------------------
韩大哥能不能说得清楚一点?我对这块不是很懂,所以不知道你的答案是针对哪个问题的。所以希望你能把我问的问题都回答了。最好再付上简单的说明。谢
----------------解决方案--------------------------------------------------------
以前写的例子 用了这个类
import java.util.*;
import java.awt.*;
import java.text.*;
import javax.swing.*;
class ClockPanel extends JPanel implements Runnable{
Thread th=null;
String today;
Date date=null;
GregorianCalendar cal=new GregorianCalendar();
SimpleDateFormat df=new SimpleDateFormat("yyyy MM dd HH:mm:ss");
public ClockPanel(){
th=new Thread(this);
th.start();
}
public void run(){
while(th!=null){
repaint();
try{
Thread.sleep(500);
}catch(InterruptedException e){}
}
}
public void paintComponent(Graphics g){
super.paintComponent(g);
date=new Date();
cal.setTime(date);
today=df.format(date);
g.drawString(today,80,80);
}
}
class ClockFrame extends JFrame{
public ClockFrame(){
Container con=getContentPane();
ClockPanel p=new ClockPanel();
setTitle("clock");
setSize(300,200);
setResizable(false);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
con.add(p);
}
}
public class MyClock{
public static void main(String args[]){
ClockFrame f=new ClockFrame();
f.setVisible(true);
}
}
----------------解决方案--------------------------------------------------------
你后面那个问题
CalendarTest是你自己的类 是测试类
跟那两个类没关系
----------------解决方案--------------------------------------------------------
Calendar拥有众多与日期相关的方法,而它的这些功能都是由它的子类GregorianCalendar来实现.
----------------解决方案--------------------------------------------------------
也就是Calendar类是一个抽象类.
----------------解决方案--------------------------------------------------------