Java基础总结(2)——面向对象

1.面向对象

(1)概念
所谓的面向对象是一种编程思想,经过这种思想能够把生活中的复琐事情变得简单化,从原来的执行者变成了指挥者,面向对象是基于面向过程而言的。
咱们常常说的面向对象的编程实现(OOP,Object Oriented Programming)java

面向对象强调结果,个人理解就是面向对象是将咱们生活中的各类各样的东西封装成为一个对象,其中包括了他的各类属性和各类方法,对外提供这些方法和属性,使得咱们能够经过建立(new)这个对象去调用这些方法和属性,这样即便咱们不知道各类属性和各类方法是如何封装的咱们也可使用这些方法和属性。
(2)三大特征:
一、封装:封装就是将一个对象的属性和操做结合成一个独立的总体,并尽可能隐藏其内部的操做细节。
二、继承:继承就是,子类继承父类的特征和行为,使子类具备父类的一些方法。可是父类中private修饰的方法,不能被子类具备,并且父类中static修饰的方法,不能被子类重写,即使子类中有与父类中同名的静态方法,两者也没有任何关联。
三、多态:多态是同一个行为具备多个不一样表现形式或形态的能力。多态就是同一个接口,使用不一样的实例而执行不一样操做,多态性是对象多种表现形式的体现。当使用多态方式调用方法时,首先检查父类中是否有该方法,若是没有,则编译错误;若是有,再去调用子类的同名方法。
多态的好处:可使程序有良好的扩展,并能够对全部类的对象进行通用处理。编程

2.构造方法

(1)概念:构造方法是一种特殊的方法,它是一个与类同名且返回值类型为同名类类型的方法。对象的建立就是经过构造方法来完成,其功能主要是完成对象的建立或者对象的初始化。当类实例化一个对象时会自动调用构造方法。构造方法和其余方法同样也能够重载。
(2)形式:
能够有参也能够无参函数

``修饰符 类名([参数]){this

代码……

}``code

3.面向对象中的关键字

(1)private:是一个权限修饰符,用于修饰成员变量和成员函数,被私有化的成员只能在本类中访问,想要修改或获取该成员,只能对外提供公共的get和set方法。
(2)this和super:this表明本类对象的一个引用对象。
构造函数中,this()必须放在第一行。
(3)extends:是继承的关键字,表示子类继承父类时使用,子类继承父类的特征和行为,使子类具备父类的一些方法。可是父类中private修饰的方法,不能被子类具备,并且父类中static修饰的方法,不能被子类重写,即使子类中有与父类中同名的静态方法,两者也没有任何关联。这也是面向对象的三大特征之一。
(4)static:静态关键字,能够修饰成员变量、成员方法以及静态代码块(随着类的加载而加载,而且只被加载一次,通常用于项目的初始化),特色是被修饰的变量及方法会随着类的加载而加载,优于对象加载,只加载一次就会一直存在,不会再开辟新的空间,全局惟一全局共享,能够直接被类名调用,另外静态只能调用静态,非静态能够随意调用,static不能喝this或者super共同使用,由于有static时可能尚未对象。
(5)final:final能够修饰类、方法和成员变量,特定是被final修饰的类,不能被继承,被final修饰的方法不能被重写,被final修饰的变量是个常量,值不能被更改。
(6)abstract:抽象的关键字,用来修饰类或方法,Java中能够定义没有方法体的方法,该方法由其子类来具体的实现。该没有方法体的方法咱们称之为抽象方法,含有抽象方法的类咱们称之为抽象类。抽象类能够理解为是一个只有方法声明没有方法体的特殊类。特色是抽象类中能够没有抽象方法(有子类去实现),若是类中有抽象方法,那该类必须定义为一个抽象类,子类继承了抽象类之后,要么仍是一个抽象类,要么就把全部抽象方法都重写,抽象类不能够被实例化。对象

4.接口(interface)

(1)概念
Java里面因为不容许多重继承,因此若是要实现多个类的功能,则能够经过实现多个接口来实现。继承

Java接口和Java抽象类表明的就是抽象类型,就是咱们须要提出的抽象层的具体表现。OOP面向对象的编程,若是要提升程序的复用率,增长程序的可维护性,可扩展性,就必须是面向接口的编程,面向抽象的编程,正确地使用接口、抽象类这些太有用的抽象类型作为java结构层次上的顶层。
(2)特色
一、接口中都是抽象方法
二、经过interface关键字建立接口
三、经过implements让子类来实现
四、能够理解成,接口是一个特殊的抽象类
五、接口突破了java的单继承的局限性
六、接口和类之间能够多实现,接口和接口之间能够多继承
七、接口是对外暴露的规则,是一套开发规范
八、接口提升了程序的功能扩展,下降了耦合性
九、接口里是没有构造方法的。在建立实现类的对象时默认的super(),是调用的默认Object的无参构造。
十、接口里没有成员变量,都是常量。因此,你定义一个变量没有写修饰符时,默认会加上:public static final
十一、接口里的方法,默认就都是抽象的,若是你不写明是abstract的,那会自动补齐
十二、Java中单继承的局限性经过接口能够解决。接口能够多继承也能够多实现,甚至能够继承的同时多实现。接口

相关文章
相关标签/搜索