JAVA概念

面向对象

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

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

在显示生活中  任何物体 都可以归为一类,面向对象的编程 是以对象为中心  以消息为驱动

面向过程

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

面向对象设计原则
https://blog.csdn.net/qq_36986067/article/details/89165537

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

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

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

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

java不支持多继承

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

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

接口与抽象类的区别
抽象类使用abstract修饰 ,接口使用interface修饰。 
抽象类可以有普通方法,有抽象方法的一定要有抽象类,接口不可有有普通方法只能有抽象类。 
抽象类可有有普通属性,接口只能是常量。 
抽象类和接口不能实例化,就是不能new,就是不能创建对象,因为不是具体的。 
抽象类有构造方法,接口没有构造方法。 
抽象类只支持单继承支持多实现,接口支持多继承
重载和重写
重写:子类继承父类,对父类允许访问的方法进行重写编写,返回值和行参都不变

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

java访问修饰符作用域和可见性
public :当前类、子类,同一包、其他包都可以访问 
protected:当前类,子类以及同一包可以访问,其它包不可以 
default:当前类和同一包可以访问,子类和其他包不可以 
private:当前类可以访问,同一包、子类、其它包都不可以访问
 

发布了62 篇原创文章 · 获赞 9 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/qq_37876078/article/details/105716597
今日推荐