深入浅出面向对象(OOP)Java

抽象方法

在这里插入图片描述

规则1

如果一个类包含抽象方法,那么该类必须是抽象类

在这里插入图片描述
规则2

任何子类必须重写父类的抽象方法,或者声明自身为抽象类。

在这里插入图片描述

抽象类

在这里插入图片描述
规则1

抽象类不能被实例化,如果被实例化,就会报错,编译无法通过。

只有抽象类的非抽象子类可以创建对象。

在这里插入图片描述
规则2

抽象类中不一定包含抽象方法,但是有抽象方法的类必定是抽象类。

规则3

构造方法,类方法(用 static 修饰的方法)不能声明为抽象方法。
在这里插入图片描述
在这里插入图片描述
规则4

抽象类中含有参构造函数的时候,子类需在第一句调用抽象类构造函数。

abstract class A {

    private int a;

    public A(int a) {
        System.out.println("A类的构造函数");
        this.a = a;
    }

    public int getA() {
        return a;
    }

    public void setA(int a) {
        this.a = a;
    }
}

class B extends A{

    private int b;

    public B(int a, int b) {
        System.out.println("B类构造函数");
        // super(a);
        this.b = b;
    }    
}

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

访问控制符回顾

在这里插入图片描述
在这里插入图片描述

final回顾

在这里插入图片描述

super回顾

在这里插入图片描述在这里插入图片描述

接口

一个接口实例
在这里插入图片描述
修饰符final

在这里插入图片描述
修饰符abstract
在这里插入图片描述
修饰符 public
在这里插入图片描述
修饰符protected
在这里插入图片描述
修饰符private
在这里插入图片描述
接口中的字段
在这里插入图片描述

接口和抽象类比较

在这里插入图片描述

jdk8 接口新特性

默认方法

引入的目的: 为了解决接口的修改与现有的实现不兼容的问题。

接口可以有实现方法,而且不需要实现类去实现其方法。只需在方法名前面加个default关键字即可

普通类和抽象类

在这里插入图片描述

静态代码块

在这里插入图片描述

基本数据类型

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值