Java基础笔记34——抽象

抽象类:是抽象方法与非抽象方法的集合

 

语法:

<修饰符> abstract class 抽象类名
{
抽象方法;
非抽象方法;
}


两种特殊情况:

1.类中全部是抽象方法

2.类中全部是非抽象方法(意义不大)


注意:

1.抽象类不能实例化

2.父类的所有抽象方法必须在子类中提供具体的实现,否则子类只能被声明为抽象类

3.抽象方法不能为static


注意以下两种情况,一个类必须声明为抽象类

1.当类中存在一个或多个抽象方法时

2.当子类没有实现父类的所有抽象方法时

3.当一个类实现一个接口,并且不能为全部抽象方法都提供实现时


抽象方法:

语法:
<修饰符> abstract 返回值类型 抽象方法名([参数类型]);

 

例子:

package com.lqh.chapter03;

public abstract class AbstractClass {
    //父类的抽象方法
    public abstract void getInfo();
    
    //非抽象方法
    public void getInfo2() {
        System.out.println("父类信息");
    }
}

class Son1 extends AbstractClass{

    //子类必须实现父类所有的抽象方法
    public void getInfo() {
        System.out.println("子类信息1");
    }
}

class Son2 extends AbstractClass{

    public void getInfo() {
        System.out.println("子类信息2");
    }

    //子类可以选择重写父类的非抽象方法
    public void getInfo2() {
        
    }
}

 

上一篇:机器更换登录密码重启,然后SQL Server登录不了


下一篇:34岁Android程序员裸辞,腾讯、美团Android面试经验分享,万分膜拜!