/*
描述一个事物,却没有足够的信息,这时就将这个事物称为抽象事物。
面对抽象的事物,虽然不具体,但是可以简单化。
不用面对具体的事物。
特点:
1.抽象方法一定定义在抽象类中,都需要用abstract来修饰。
2.抽象类不能实例化,不能用关键字new关键字创建对象。
3.只有子类覆盖所有的抽象方法后,子类具体化,子类就可以创建对象。
如果没有覆盖所有的抽象方法,那么子类还是一个抽象类。
描述一个事物,却没有足够的信息,这时就将这个事物称为抽象事物。
面对抽象的事物,虽然不具体,但是可以简单化。
不用面对具体的事物。
特点:
1.抽象方法一定定义在抽象类中,都需要用abstract来修饰。
2.抽象类不能实例化,不能用关键字new关键字创建对象。
3.只有子类覆盖所有的抽象方法后,子类具体化,子类就可以创建对象。
如果没有覆盖所有的抽象方法,那么子类还是一个抽象类。
抽象类也是不断地向上抽取而来的。抽取了方法的声明,而不确定具体的方法内容。
由不同的子类来完成具体的方法内容
由不同的子类来完成具体的方法内容
问题:
1.抽象类中有构造方法吗?
有,抽象类的构造函数虽然不能给抽象类对象实例化,因为抽象类不能创建对象。
但是抽象类有子类,它的构造函数可以子类的对象实例化。
抽象类和一般类的异同点?
相同:都是用来描述事物,都可以进行属性和行为的描述。
不同:抽象类描述事物的信息 不具体,一般类描述事物的信息具体。
代码的不同:
抽象类中可以定义抽象方法,一般类不可以。
抽象类不可以实例化,一般类可以。
2.抽象类一定是个父类吗?
是的,必须需要子类覆盖抽象方法后,才可以实例化,使用这些方法。
abstract class Demo extends Xxx
{
abstract void show();
}
class Sub extends Demo
3.抽象类中可以不定义抽象方法吗?
可以的,仅仅是让该类不能创建对象。(抽象类本身不能创建对象,而继承了抽象类的子类若想创建对象,
! 方便创建接口的对象 必须要满足覆盖抽象类中所有的抽象方法。就因为抽象类中可以不定义抽象方法,
进而可知,不定义抽象方法的抽象类,是为了不让该类创建对象)
4.抽象关键字abstract和哪些关键字不能共存?
final
private
static
*/
1.抽象类中有构造方法吗?
有,抽象类的构造函数虽然不能给抽象类对象实例化,因为抽象类不能创建对象。
但是抽象类有子类,它的构造函数可以子类的对象实例化。
抽象类和一般类的异同点?
相同:都是用来描述事物,都可以进行属性和行为的描述。
不同:抽象类描述事物的信息 不具体,一般类描述事物的信息具体。
代码的不同:
抽象类中可以定义抽象方法,一般类不可以。
抽象类不可以实例化,一般类可以。
2.抽象类一定是个父类吗?
是的,必须需要子类覆盖抽象方法后,才可以实例化,使用这些方法。
abstract class Demo extends Xxx
{
abstract void show();
}
class Sub extends Demo
3.抽象类中可以不定义抽象方法吗?
可以的,仅仅是让该类不能创建对象。(抽象类本身不能创建对象,而继承了抽象类的子类若想创建对象,
! 方便创建接口的对象 必须要满足覆盖抽象类中所有的抽象方法。就因为抽象类中可以不定义抽象方法,
进而可知,不定义抽象方法的抽象类,是为了不让该类创建对象)
4.抽象关键字abstract和哪些关键字不能共存?
final
private
static
*/
本文介绍了抽象类和抽象方法的基本概念,包括它们的特点、如何使用以及与其他类的区别。此外,还探讨了抽象类中构造方法的作用及抽象关键字与其它关键字的共存问题。
1040

被折叠的 条评论
为什么被折叠?



