日期:2014-05-20  浏览次数:20857 次

抽象类是包含抽象方法的类,只须声明,不需实现??
Java code
abstract class A
{
    public void fun()
    {
        System.out.println("fun()");
    }
    public static void main(String []args)
    {
        
    }
}

这样的类也是抽象类??

------解决方案--------------------
是抽象类

因为new A() 是会编译错误的噢
------解决方案--------------------
也可以不包含抽象方法
------解决方案--------------------
也可以包括实现了的方法
------解决方案--------------------
包含0个和多个抽象方法.
------解决方案--------------------
没看类前面是abstract 嘛
------解决方案--------------------
不是说至少要一个抽象方法的咩。。。
- -!
------解决方案--------------------
抽象类不是必须要带一个抽象方法吗?

------解决方案--------------------
探讨
抽象类不是必须要带一个抽象方法吗?

------解决方案--------------------
哪个说的必须带一个抽象方法哦???谁说的.你可以喊他GET OUT!
你试试不加方法呢.

Java code

abstract class A{}

------解决方案--------------------
你可以自己试一下不就清楚了
------解决方案--------------------
探讨
不是说至少要一个抽象方法的咩。。。
- -!

------解决方案--------------------
只要一个类中有一个方法是抽象的,那么这个类必须为抽象类,用关键字abstract声明,但是一个抽象类中是可以没有抽象方法的,抽象类中的方法可以实现,也可以不实现,但如果你继承了一个抽象方法,那么子类需实现父类中的所有抽象方法(除非子类也是抽象类)
------解决方案--------------------
但如果你继承了一个抽象方法,那么子类需实现父类中的所有抽象方法(除非子类也是抽象类)

不对吧,子类继承抽象类,可以实现一个或多个抽象类的方法
------解决方案--------------------
抽象类不一定要有抽象方法,但是有抽象方法的一定是抽象类
------解决方案--------------------
含有抽象方法的类是抽象类,抽象类中不一定有抽象方法。
其实你就记住用abstract的类就是抽象类。
但你这个抽象类编译的时候会报错
------解决方案--------------------
抽象类中未实现的方法必须在其直接子类或间接子类中实现
------解决方案--------------------
abstract class
 抽象类 和 interface 的不同就在于abstract class 里面可以实现方法的具体内容
而interface 是不可以的。

主要取决于你的需要,当你需要 在abstract class实现时就写如果需要他的子程序(SubClass)实现时 就不写
完全取决于需要。

现在分析一下需要。 
这里就要看你对这个抽象类型的理解了,这个类型 是为了避免多写代码,和以后升级而出现的。
例如,
一个类叫做 Car,但是我们知道 Car 有很多种,而现在需要的只有日本的,和美国的,如果你以后国际市场上
出现了中国的,以后要加入中国,但是,你就需要从新写了,为了避免,我们引用了 Abstract 这个数据类型。

 public abstract class Car ()
{
public String getCarType(String type)
{
return type; // 这里我们需要知道返回车的种类,无论哪里的车,我都需要,所以我可以写道这里。
}

abstract getClour() //这个是抽象的,因为,每一个车的种类都有自己的颜色。所以要在subClass里面实现。
 }
}

以上是我的个人理解,如果有朋友给予指正,谢谢。
------解决方案--------------------
abstract class 最好不要写Main函数在里面

如果想new 的时候,要new 他的子类(subClass)
------解决方案--------------------
抽象类不一定要有抽象方法,但是有抽象方法的一定是抽象类
------解决方案--------------------
可以说是,抽象类不一定要有抽象方法,但是有抽象方法的一定是抽象类