Java概念性

面向对象

面向对象是一种编程规范,是基于万物皆对象这一哲学观点。

所谓面向对象就是将我们的程序模块化,对象化,把具体事物的特征属性及动作放到一个类里面来。

在现实生活中,任何物体都可以归类为一类事物的实例。面试对象的编程,是以对象为中心,以消息为驱动

面向过程

面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现。

面向对象设计原则

https://blog.csdn.net/qq_36986067/article/details/89165537

  1. 单一职责原则(一个合理的类,功能应该只有一个,优点是消除耦合)
  2. 开闭原则(对扩展开放,对修改关闭,优点降低了各程序之间的耦合性,其适应性、稳定性、灵活性都比较好)
  3. 里氏替换原则(子类必须能够替换基类,否则不应当设计其为子类)
  4. 依赖倒置原则(设计要依赖于抽象而不是具体化,要针对接口编程,而不是针对实现编程)
  5. 接口隔离原则(接口功能设计更加单一,即大接口拆散成小接口,让系统接口,从而容易重构、更改和部署)
  6. 迪米特法则或最少知识原则(一个对象应该尽快能少的去了解其他对象)

面向对象的三大特性

封装

隐藏对象的属性和实现细节,仅对外公开接口,将抽象的到的数据和行为相结合,形成一个有机整体(类)

继承

多个类中存在相同的属性和行为时,将这些相同的内容抽取到一个单独的类中,那么多个类无需再定义这些属性和行为,只要继承这个类即可。

继承是子类继承父类的特征和行为,使子类具有父类相同的行为。

java不支持多继承

多态

多态使同一套接口,有不同的实现类。这样,同样是调用接口的同一个方法,不同的实现类会有截然不同的表现。多态是在继承的基础上实现的。

多态的价值在于抽象,对于具有相同表现能力的对象进行抽象,然后不同的对象进行不同的实现。抽象、继承和多态是相辅相成的。抽象是设计技巧,继承则是纯技术性的特征,而多态将抽象和继承集合起来。

接口

接口是非常重要的类型抽象,所谓接口,就是抽象出一组方法,没有方法实现,具体的方法实现需要子类自己去实现,接口用于向外部暴露出自己的服务能力,告诉调用者服务具有的能力,而某个方法的具体实现则可以有多种多样不同的形式,接口使用interface关键字来定义,和接口类似的是抽象类,抽象类使用abstract关键字来限定类,当然,抽象类和接口都是无法实例化的,都需要实例化其子类(实现类),抽象类可以有一些通用方法的实现,对于有个性化需求的方法,可以抽象为抽象方法,供子类实现,抽象类经常用于实现模板设计模式,抽象类和接口的本质是抽象,只不过接口相当于所有方法都是抽象的,而抽象类中可以有具体的实现方法。

接口与抽象类的区别

  1. 抽象类使用abstract修饰 ,接口使用interface修饰。 
  2. 抽象类可以有普通方法,有抽象方法的一定要有抽象类,接口不可有有普通方法只能有抽象类。 
  3. 抽象类可有有普通属性,接口只能是常量。 
  4. 抽象类和接口不能实例化,就是不能new,就是不能创建对象,因为不是具体的。 
  5. 抽象类有构造方法,接口没有构造方法。 
  6. 抽象类只支持单继承支持多实现,接口支持多继承

重载和重写

重写:子类继承父类,对父类允许访问的方法进行重写编写,返回值和行参都不变

重载:一个类里面,方法名字相同,而参数不同(个数或类型不同),返回类型也可以相同,也可以不同。

java访问修饰符作用域和可见性

public :当前类、子类,同一包、其他包都可以访问 
protected:当前类,子类以及同一包可以访问,其它包不可以 
default:当前类和同一包可以访问,子类和其他包不可以 
private:当前类可以访问,同一包、子类、其它包都不可以访问

 

 

 

 

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值