【Java基础】1 基本特性

这篇博客探讨了Java的面向对象特性,包括封装、继承和多态的概念。封装通过私有化属性并提供公共接口来提高安全性。继承允许代码复用,子类可以拥有父类的属性和方法。多态分为重载和重写,前者是编译时多态,后者是运行时多态。此外,还讨论了重载和重写之间的区别以及抽象类与接口的不同。
摘要由CSDN通过智能技术生成

1 面向对象的三大特性

面向对象是一种 “万物皆对象” 的编程思想,从业务中抽象出一个个类,类中包含属性和方法,相比直接实现函数功能的面向过程,更容易维护和扩展,有封装、继承、多态三大特性。

封装:将对象的属性私有化,对外只提供接口访问,从而隐藏内部实现,提高程序安全性。

继承:从已有类得到继承信息创建新类的过程,实现了代码的复用。

  • 子类拥有父类所有属性和方法,但无法访问访问父类私有属性和方法;
  • 子类可以拥有自己的属性和方法;
  • 子类可以重写父类方法。

多态:分为编译时多态(重载)和运行时多态(重写)

  • 重载:指同一个类中同名的方法有不同的参数列表,注意不能根据返回类型进行区分。
  • 重写:发生在子类与父类之间,子类重写父类的方法具有相同的返回类型、更好的访问权限。

实现多态分两步,一是子类继承父类并重写父类的方法,二是用父类型引用子类型对象。

这样,同样的引用调用同样的方法,就会因为子类对象的不同而执行不同的操作。

2 重载和重写的区别

重载:编译时多态,指同一个类中同名的方法有不同的参数列表,注意不能根据返回类型进行区分。

重写:运行时多态,发生在子类与父类之间,子类重写父类的方法具有相同的返回类型、更好的访问权限。

3 抽象类和接口的区别

抽象类:不能实例化的类,用于重用代码。

  • 可以定义构造函数;

  • 成员权限可以是 public、protected、default;

    public:所有类,protected:包内类及子类,default(默认):包内类,private:本类

  • 方法可以有抽象方法和具体方法;(可以没有抽象方法)

接口:抽象方法的集合,用于定义 API 和分离实现。

  • 不能实例化和定义构造函数;
  • 方法默认是 public abstract,属性默认是 public static final;
  • 方法只能是抽象方法;Java 8 后,开始有静态方法和默认实现;

Java 类库中定义了非常多接口,常见比如集合中的 Collection、Map。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值