乐趣区

关于oop:Java基础总结2面向对象

1.面向对象

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

面向对象强调后果,我的了解就是面向对象是将咱们生存中的各种各样的货色封装成为一个对象,其中包含了他的各种属性和各种办法,对外提供这些办法和属性,使得咱们能够通过创立(new)这个对象去调用这些办法和属性,这样即便咱们不晓得各种属性和各种办法是如何封装的咱们也能够应用这些办法和属性。
(2)三大特色 :
1、 封装 :封装就是将一个对象的属性和操作联合成一个独立的整体,并尽量暗藏其外部的操作细节。
2、 继承 :继承就是,子类继承父类的特色和行为,使子类具备父类的一些办法。然而父类中 private 润饰的办法,不能被子类具备,而且父类中 static 润饰的办法,不能被子类重写,即使子类中有与父类中同名的静态方法,二者也没有任何关联。
3、 多态 :多态是同一个行为具备多个不同表现形式或状态的能力。多态就是同一个接口,应用不同的实例而执行不同操作,多态性是对象多种表现形式的体现。当应用多态形式调用办法时,首先查看父类中是否有该办法,如果没有,则编译谬误;如果有,再去调用子类的同名办法。
多态的益处:能够使程序有良好的扩大,并能够对所有类的对象进行通用解决。

2.构造方法

(1)概念:构造方法是一种非凡的办法,它是一个与类同名且返回值类型为同名类类型的办法。对象的创立就是通过构造方法来实现,其性能次要是实现对象的创立或者对象的初始化。当类实例化一个对象时会主动调用构造方法。构造方法和其余办法一样也能够重载。
(2)模式:
能够有参也能够无参

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

   代码……

}“

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)特点
1、接口中都是形象办法
2、通过 interface 关键字创立接口
3、通过 implements 让子类来实现
4、能够了解成,接口是一个非凡的抽象类
5、接口冲破了 java 的单继承的局限性
6、接口和类之间能够多实现,接口和接口之间能够多继承
7、接口是对外裸露的规定,是一套开发标准
8、接口进步了程序的性能扩大,升高了耦合性
9、接口里是没有构造方法的。在创立实现类的对象时默认的 super(),是调用的默认 Object 的无参结构。
10、接口里没有成员变量,都是常量。所以,你定义一个变量没有写修饰符时,默认会加上:public static final
11、接口里的办法,默认就都是形象的,如果你不写明是 abstract 的,那会主动补齐
12、Java 中单继承的局限性通过接口能够解决。接口能够多继承也能够多实现,甚至能够继承的同时多实现。

退出移动版