对象: 通常都会将对象划分为两个部分,即动态部分与静态部分
静态部分: 也就是不能随意变动的属性;
动态部分: 这些属性会执行一些动作;(例如:人的手,手可以用来提东西,吃饭,写字。。。)
类: 类是封装对象的属性和行为的载体,反过来说具有相同属性和行为的一类实体被称为类
具体表现:
封装:封装是面向对象编程的核心思想,将对象的属性和行为封装起来,而将对象的属性和行为封装起来的载体就是类,类通常对客户隐藏其实现细节,这就是封装的思想
继承:类与类之间同样具有关系,如一个百货公司类与销售员类相联系,类之间这种关系被称为关联。关联是描述两个类之间的一般二元关系,例如一个百货公司类与销售员类就是一个关联,再比如学生类以及教师类也是一个关联。两个类之间的关系有很多种,继承是关联中的一种。
多态:多态性允许以统一的风格编写程序,以处理种类繁多的已存在的类以及相关类。该统一风格可以由父类来实现,根据父类统一风格的处理,就可以实例化子类的对象。由于整个事件的处理都只依赖于父类的方法,所以日后只要维护和调整父类的方法即可,这样降低了维护的难度,节省了时间。
(1)向上转型
(2)子类父类有同名的覆盖方法,通过父类引用调用这个方法
(3)动态绑定
抽象类与接口:
抽象类:在面向对象的概念中,所有对象都是通过类来描述的,但是不是所有的类都是用来描述对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类
1、用abstract修饰的方法叫做抽象方法
2、包含抽象方法的类叫抽象类 使用abstract修饰该类
3、抽象类不能被实例化
4、抽象类中可以有和普通类一样的方法,成员。 最突出和普通类不一样的地方就是不能被实例化
5、抽象类可以被继承(抽象类的存在就是为了被继承)
6、如果一个类继承了包含抽象方法的抽象类,那么需要重写这个抽象方法。否则代码不能通过编译
7、如果抽象类A继承抽象类B 那么抽象类A可以不重写抽象类B的抽象方法
8、抽象方法不能是private、static、final修饰
接口:接口可以看成是:多个类的公共规范,是一种引用数据类型(可以被多个类实现调用)
1、接口使用interface来修饰的
2、接口中的成员变量默认都是public static final 来修饰的
3、接口中的普通成员方法都是 public abstract 来修饰的
4、接口当中的普通成员方法是不能有具体实现的(如果要有实现 必须加上default来修饰)
5、接口也不能被实例化
6、类和接口的关系是实现关系 implements来关联的
7、接口中不能有示例代码块和构造方法
接口不能直接使用,必须需要有一个“实现类”来实现该接口