java核心基础_Java核心基础知识(一):概念、语法、使用、源码

1. Java中OOP的特点?

OOP(Object Oriented Programming):面向对象编程。具有封装、继承、多态三大特征。

封装:解决数据安全性问题;

继承:解决代码的重用性问题;

多态:解决程序扩展问题。

1.1 封装

封装:隐藏对象的属性和实现细节,仅对外提供可调用、稳定的公共访问方式。

封装优点:

1. 类具有独立性和隔离性,保证类的高内聚;

2. 避免使用非法数据赋值,降低出错可能性,便于维护;

3. 避免类内部实现发生改变时,导致整个程序的改变。

封装实现:对象的属性声明为private(私有),并提供合理public(公有)的get/set方法以供外部使用。

权限区域:

修饰符 同一类中 同一包中 子类 全局范围

public √ √ √ √

protected √ √ √

default(默认) √ √

private √

1.2 继承

在Java中,类的继承通过extends关键字实现,接口得继承通过implements是实现。继承以类继承讲述,在没有特殊标记下,下面将的继承均是类继承。

继承描述:从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新能力

继承优点:代码变的简洁;增加代码的可重用性、扩展性。

继承特点:传递性,单根性,使用super条用父类成员,默认先调父类的无参构造函数。

继承是IS-A关系,没有继承类是,则本类直接继承Object类。

继承条件下的构造函数调用:调用构造器时只能在构造器第一行调用。

1. 子类构造器没有super关键字,默认调用父类的午餐构造器;

2. 子类构造器有super关键字,则调用父类相关的构造器;

3. 子类构造器有this关键字,调用本类的构造器,禁用上面的两条规则。

1.3 多态

多态的三个条件:

1. 继承的存在,继承是多态的基础,没有继承就没有多态

2. 子类重写父类的方法

3. 父类引用变量执行子类对象(向上转型,里式替换原则,子类到父类的类型装换)

面向对象的多态性主要体现在重写和重载两个方面。

重载:同名方法,不同参数(个数、类型、位置),与返回值无关,适用所有的(构造,静态,实例)方法。

重写:子类继承父类的方法,如果想在原来基础修改方法,需要采取方法重写。方法重写称为覆盖。

多态实现:同一类的不同子类对象对同一个方法调用产生的不同结果叫多态。

多态优点:不用修改程序代码就可以改变程序动态运行时绑定的具体代码;

增强了软件的灵活性和扩展性。

父类中定义的方法,子类重写方法,父类类型会调用子类的方法,否则调用父类定义的方法。

3. 接口与实现类的区别

语法层面:

1. 抽象类可以提供成员方法的实现细节,接口方法只能是public abstract方法

2.抽象类可以是各种类型,接口中成员变量只能是public static final;

3. 抽象类可以有静态代码块和静态方法,有接口中不能含有静态代码块以及静态方法

4. 一个类只能继承一个抽象类,一个类可以实现多个接口

设计层面层面:

5. 抽象类是对事物的抽象是对类的抽象,接口是对行为的抽象

6. 抽象类是对类整体进行抽象包括属性、行为,接口是对类局部(行为)进行抽象

7. 抽象类是模板式设计,而行为是一种辐射设计(必须实现方法)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值