面向对象
类与对象的关系
类是一种抽象的数据类型,它是对某一类事物整体描述/定义,但是并不能代表某一个具体的事物
person类、pet类、car类等,这些都是用来描述/定义某一些具体的事物应该具备的特点和行为
对象是抽象概念的具体实例
张三就是人的一个具体实例,张三家的旺财就是狗的一个具体实例
能够体现出特点,展现出功能的是具体的实例,而不是一个抽象的概念
创建与初始化对象
使用new关键词创建对象
使用new关键词创建的时候,除了分配内存空间之外,还会给 创建好的对象 进行默认的初始化以及对类中构造器的调用
类中的构造器也称为构造方法,是在进行创建对象的时候必须要调用的。并且构造器有以下两个特点:
1、必须和类的名字相同
2、必须没有返回类型,也不能写void
封装
高内聚,低耦合。
高内聚就是类的部分数据操作细节自己完成,不允许外部干涉;
低耦合:仅暴露少量的方法给外部使用
封装(数据的隐藏)
通常,应禁止直接访问一个对象中数据的实际表示,而应通过操作接口来访问,这称为信息隐藏
属性私有 get/set
继承
继承的本质是对某一批类的抽象,从而实现对现实世界更好的建模
extands的意思是“扩展”。子类是父类的扩展
Java中类只有单继承,没有多继承
继承是类和类之间的一种关系,除此之外,类和类之间的关系还有依赖、组合、聚合等。
继承关系的两个类,一个为子类(派生类),一个为父类(基类)。子类继承父类,使用关键词extands来表示
object类
super
方法重写
多态
即同一方法可以根据发送对象的不同而采用多种不同的行为方式
一个对象的实际类型是确定的,但可以指向对象的引用的类型有很多
多态存在的条件
有继承关系
子类重写父类方法
父类引用指向子类对象
注意:多态是方法的多态,属性没有多态性
instanceof
接口
普通类:只有具体实现
抽象类:具体实现和规范(抽象方法)都有!
接口:只有规范
声明类的关键词是class,声明接口的关键词是interface
约束只能定义方法
子类实现接口必须重写其中方法
只有一个方法的接口叫做函数式接口,可以使用lambla表达式简化
接口比抽象类更抽象
一个类可以实现多个接口
内部类
内部类就是在一个类的内部在定义一个类。比如,A类中定义一个B类,那么B类相对A类来说就称为内部类,而A类相对B类来说就是外部类
1.成员内部类
2.静态内部类
3.局部内部类
4.匿名内部类(重点)

浙公网安备 33010602011771号