Java基础知识 | 面向对象基础下

前沿:撰写博客的目的是为了再刷时回顾进一步完善,其次才是以教为学,所以如果有些博客写的较简陋,是为了保持进度不得已而为之,还请大家多多见谅。

1.静态

为什么有静态?

  • 需要定义公共资源,便于更多方使用。

  • 像静态变量所有调用该变量看到的值都相等,购票方只需放出100张票,便能够让多方共抢。

如何实现静态?

  • static关键词

使用静态需要注意什么?

  • 静态的开放权限大于非静态,所以非静态能够调用静态,而静态不能够调用非静态。

  • 静态面向所有对象使用,所以最好通过类名.静态使用。

2.枚举

为什么有枚举?

  • 枚举是一种变量,能够按要求选择固定内容的变量。

如何实现枚举?

  • 像创建类一样,关键字enum。

3.包装类

为什么会有包装类?

  • 因为基本类型不具有对象的特性,可以通过包装类使其具有对象性质,并且为其增加了属性和方法。

  • 所以基本类型在创建时不使用new关键字,而包装类类型则需要new在堆中分配存储空间。

    • 对象存储的是地址,所以需要调用方法使用equals比较。

4.抽象类

为什么会有抽象类?

抽象类是什么?

没有方法体的方法成为抽象方法,包含抽象方法的类必须为抽象类。

  • 抽象类的目的是继承or实现类必须能够实现要求的功能。

如何创建抽象类?

  • abstract

使用抽象类易犯错误

  • 抽象类创建对象没有意义,所以不能创建对象。

    • 抽象类的定义为没有方法体的方法,那么自然调用不了对象,所以创建对象没意义。

  • 继承抽象类,除非子类也是抽象类,不然必须实现父类所有抽象方法。

  • 抽象类可以有普通方法,没有抽象方法。

    • 但普通方法不能创建对象,所以不能使用该普通方法。

5.接口

为什么会有接口?

  • 类似枚举一样,接口就是规范,要求按照一定规则实现功能才能被称为该类型。

接口的特点

  • 接口的成员声明有限制:

    (1)公共的静态常量

    (2)公共的抽象方法

    (3)公共的默认方法

    (4)公共的静态方法

    (5)私有方法(JDK1.9以上)

与继承的区别:

  • 继承是“是不是”的问题,而抽象是“能不能”的问题。

如何创建接口?

  • interface 接口名

抽象类与接口的区别

  • 接口支持多继承和多实现接口;

  • 抽象类有构造器,而接口不能有构造器。

  • 抽象类可以有默认方法实现,而接口是完全抽象的。

  • 抽象类是对一种事物的抽象,即对类抽象,而接口是对行为的抽象。

  • 设计层面上的不同:

    • 抽象类作为很多子类的父类,它是一种模板式设计。

    • 接口是一种行为规范,它是一种辐射式设计。

接口和继承的出现会带来冲突问题

接口面试题

  1. 为什么接口中只能声明公共的静态的常量?

  2. 为什么JDK1.8之后要允许接口定义静态方法和默认方法呢?

  3. 为什么JDK1.9要允许接口定义私有方法呢?

3.

其他知识

总结

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值