抽象类

来源:互联网 发布:it项目管理视频教程 编辑:程序博客网 时间:2024/06/11 07:20

1、抽象类特点

(1)方法只有声明没有实现时,该方法就是抽象方法,需要被关键字abstract所修饰,抽象方法必须定义在抽象类中,该类也必须用abstract关键字进行修饰。

(2)抽象类不可以实例化,因为调用抽象方法没有意义。

(3)抽象类必须要有其子类覆盖了所有的抽象方法后,该子类才可以被实例化,否则该子类还是一个抽象类。

2、抽象类中的构造函数一般用于子类的初始化

3、抽象类中可以不定义抽象方法,但很少见,目的就是不让该类创建对象。AWT的适配器对象就是这种类。通常该类中有方法体,没有内容。

4、抽象关键字不可以和那些关键字共存?    private ,static,final

5、抽象类一定是个父类吗?是的。因为需要子类覆盖其方法后才可以对子类实例化。

class AbstractDemo1 {public static void main(String[] args) {Student s = new Student("旺财",23);Worker w = new Worker("小强",30);s.show();s.work();w.show();w.work();}}abstract class Person{int age;String name;Person(String name, int age){   //构造函数用于给子类进行初始化this.name = name;this.age = age;}void show(){System.out.println("name="+this.name+"\n"+"age="+this.age);}abstract void work();}class Student extends Person{Student(String name, int age){super(name,age);}void work(){System.out.println("student is studying...");}}class Worker extends Person{Worker(String name, int age){super(name,age);}void work(){System.out.println("worker is working...");}}
程序运行结果:
name=旺财
age=23
student is studying..
name=小强
age=30
worker is working...

0 0
原创粉丝点击