Java中抽象类不能创建对象吗?
发布网友
发布时间:2022-04-22 18:31
我来回答
共5个回答
热心网友
时间:2023-10-24 19:08
Calendar 在 Java 中是一个抽象类(Abstract Class),GregorianCalendar 是它的一个具体实现。
public abstract class Calendar extends Object implements Serializable, Cloneable, Comparable<Calendar></dt>Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等 日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。瞬间可用毫秒值来表示,它是距历元(即格林威治标准时间 1970 年 1 月 1 日的 00:00:00.000,格里高利历)的偏移量。该类还为实现包范围外的具体日历系统提供了其他字段和方法。这些字段和方法被定义为 protected。 与其他语言环境敏感类一样,Calendar 提供了一个类方法 getInstance,以获得此类型的一个通用的对象。Calendar 的 getInstance 方法返回一个 Calendar 对象,其日历字段已由当前日期和时间初始化: Calendar rightNow = Calendar.getInstance();
热心网友
时间:2023-10-24 19:08
不能。因为默认的都是“public static”的静态方法,所以是没法new对象的。
1.抽象类与抽象方法的关系是:抽象方法必须在抽象类中,如果抽象方法不在抽象类中,则会编译报错,这个是规定的。
2.抽象类中的方法不一定要必须是抽象方法,可以有抽象方法,和非抽象方法.其中非抽象方法,往往都是抽象类的所有子类所具有的,而抽象方法则由具体的不同子类实现不同的方法。
热心网友
时间:2023-10-24 19:08
public class AB {
public static void main(String[] args)
CC c=CC.getInstan();
System.out.println(c.getCC());
}
}
abstract class CC{
public static BB getInstan(){
return new BB();
}
public abstract int getCC();
}
class BB extends CC{
int i=0;
public int getCC(){
return i;
}
}
看看我写的这个你就清楚了
Calendar.getInstance() 的静态方法是在Calendar类中实现了的,并不是一个抽象的方法 ,其作用就是返回一个GregorianCalendar 实例 它是Calendar具体实现。
就如CC c=CC.getInstan();这个c得到的实例其实是BB并不是抽象类CC
剩下的方法才是抽象的。
Calendar 是抽象类
热心网友
时间:2023-10-24 19:09
Java抽象类 是被其子类继承的 , 如上所说
Calendar 的静态方法 getInstance()可以返回自己的一个实例 , 这是一个单例模式 ,不是抽象类
热心网友
时间:2023-10-24 19:10
不能直接new创建对象,不代表不可以调用静态方法啊,这是两个概念啊