JAVA打怪之路 - 面向对象编程下

面向对象编程下

四、面向对象(OOP)三大特征

① 封装 (Encapsulation)

Java中通过将数据声明为私有的(private),再提供公共的(public)方法: getXxx()和setXxx()实现对该属性的操作,以实现下述目的:
(1)隐藏一个类中不需要对外提供的实现细节;
(2)使用者只能通过事先定制好的方法来访问数据,可以方便地加入控制逻辑,限制对属性的不合理操作;
(3)便于修改,增强代码的可维护性;
JAVA打怪之路 - 面向对象编程下
② 继承 (Inheritance)

类继承语法规则:
(1) class Subclass extends SuperClass{ }
(2)子类不能直接访问父类中私有的(private)的成员变量和方法。
(3)Java只支持单继承和多层继承,不允许多重继承。即一个子类只能有一个父类,一个父类可以派生出多个子类。
(4) 减少代码冗余,便用功能扩展,提供多态的前提。

③ 多态 (Polymorphism)
JAVA打怪之路 - 面向对象编程下
JAVA打怪之路 - 面向对象编程下
JAVA打怪之路 - 面向对象编程下
五、关键字

① this 表示当前对象,可以调用类的属性、方法和构造器。
(1)它在方法内部使用,即这个方法所属对象的引用;
(2)它在构造器内部使用,表示该构造器正在初始化的对象。

  1. 在任意方法或构造器内,如果使用当前类的成员变量或成员方法可以在其前面添加this,增强程序的阅读性。不过,通常我们都习惯省略this。
  2. 当形参与成员变量同名时,如果在方法内或构造器内需要使用成员变量,必须添加this来表明该变量是类的成员变量。
    3.使用this访问属性和方法时,如果在本类中未找到,会从父类中查找。
    4.this可以作为一个类中构造器相互调用的特殊格式。this(形参列表)。
    注意:
    JAVA打怪之路 - 面向对象编程下

② package 包

包对应于文件系统的目录,package语句中,用 “.” 来指明包(目录)的层次;包通常用小写单词标识。通常使用所在公司域名的倒置:com.pzl.util。
JDK中主要的包介绍
JAVA打怪之路 - 面向对象编程下
③ import

为使用定义在不同包中的Java类,需用import语句来引入指定包层次下所需要的类或全部类(.*)。 import语句告诉编译器到哪里去寻找类。import 包名. 类名;
JAVA打怪之路 - 面向对象编程下

④ super

JAVA打怪之路 - 面向对象编程下

this和super的区别:
JAVA打怪之路 - 面向对象编程下
⑤ static
JAVA打怪之路 - 面向对象编程下
类变量 vs 实例变量内存解析
JAVA打怪之路 - 面向对象编程下
类方法(class method)
JAVA打怪之路 - 面向对象编程下
⑥ final
JAVA打怪之路 - 面向对象编程下
⑦ abstract (抽象类与抽象方法)
JAVA打怪之路 - 面向对象编程下

⑧ inteface (接口)
JAVA打怪之路 - 面向对象编程下
JAVA打怪之路 - 面向对象编程下

Java 8中关于接口的改进:
JAVA打怪之路 - 面向对象编程下

JAVA打怪之路 - 面向对象编程下