鱼C论坛

 找回密码
 立即注册
查看: 3107|回复: 1

[学习笔记] Java-008抽象类

[复制链接]
发表于 2018-12-22 10:48:44 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 moc 于 2018-12-22 10:48 编辑

1、抽象类的概念
       在自上而下的继承层次结构中,位于上层的类更具有通用性,甚至可能更加抽象。从某种角度看,祖先类更加通用,它只包含一些最基本的成员,人们只将它作为派生其他类的基类,而不会用来创建对象。甚至,你可以只给出方法的定义而不实现,由子类根据具体需求来具体实现。
抽象方法: 只给出方法定义而不具体实现的方法,抽象方法是没有方法体。
抽象类:   包含一个或多个抽象方法的类。类即使不包含抽象方法,也可以被声明为抽象类,防止被实例化。
关键字:     abstract
import static java.lang.System.*;
public final class Demo{
    public static void main(String[] args) {
        Teacher t = new Teacher();
        t.setName("小明");
        t.work();
       
        Driver d = new Driver();
        d.setName("小陈");
        d.work();
    }
}
// 定义一个抽象类
abstract class People{
    private String name;  // 实例变量
   
    // 共有的 setter 和 getter 方法
    public void setName(String name){
        this.name = name;
    }
    public String getName(){
        return this.name;
    }
   
    // 抽象方法
    public abstract void work();
}
class Teacher extends People{
    // 必须实现该方法
    public void work(){
        out.println("我的名字叫" + this.getName() + ",我正在讲课,请大家不要东张西望...");
    }
}
class Driver extends People{
    // 必须实现该方法
    public void work(){
        out.println("我的名字叫" + this.getName() + ",我正在开车,不能接听电话...");
    }
}
2、抽象类的总结
注意:
        1.  抽象类不能被实例化,如果被实例化,就会报错,编译无法通过。只有抽象类的非抽象子类可以创建对象。
        2.  抽象类中不一定包含抽象方法,但是有抽象方法的类必定是抽象类。
        3.  抽象类中的抽象方法只是声明,不包含方法体,就是不给出方法的具体实现也就是方法的具体功能。
        4.  构造方法,类方法(用static修饰的方法)不能声明为抽象方法。
        5.  抽象类的子类必须给出抽象类中的抽象方法的具体实现,除非该子类也是抽象类。
抽象类的成员特点:
A:成员变量
        有变量,有常量
B:构造方法
        有构造方法
C:成员方法
        有抽象,有非抽象
abstract不能和哪些关键字共存:
        a:final        ==> 冲突
        b:private   ==> 冲突
        c:static      ==> 无意义

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-6-5 11:12:37 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-22 23:04

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表