目录
什么是面向对象
面向对象就是把自然界存在的事物通过java语言描述出来,包括其属性跟特征
类和对象
-
概念:
类:用来封装数据或者方法的地方
对象:拥有具体特征
-
两者区别:
类是抽象的,对象是具体的
-
类变量和实例变量:
类变量:被关键字static修饰的变量;特点:可以直接调用不需要被实例化
实例变量:没有关键字static修饰;特点:使用时必须实例化
-
类中的static块:
类加载完成时开始初始化,且整个生命周期只会被执行一次,一般用于资源初始化
-
修饰符:
public:用于访问修饰符
abstract:不可被实例化
fianl:最终类,没有子类
-
继承
(1)允许创建分等级的类
(2)子类继承父类的特征与行为
(3)子类允许重写父类的方法
(4)java不允许多继承
-
继承作用
(1)代码复用
(2)多态
-
方法的重写和重载:
(1)重写:
子类可以对父类允许访问的方法进行覆盖,但是形参和返回类型必须相同
(2)重载:
方法同名不同参
-
修饰符与作用域(接口中的方法默认修饰符就是public)
-
抽象类:
(1)可以定义抽象方法
(2)修饰符abstract
(3)一般用于继承
(4)对类型进行建模
(5)不能实例化对象
-
接口
(1)对行为的约束
(2)单继承多实现
(3)修饰符interface
(4)不可被实例化
-
多态
概念:同一操作用与不同对象得到不同结果
public class Animal {
public void shout(){
System.out.println("叫了一声");
}
}
class Dog extends Animal{
@Override
public void shout(){
System.out.println("汪汪汪!");
}
}
class Cat extends Animal{
@Override
public void shout(){
System.out.println("喵喵喵!");
}
}
形成多态三个必要条件:继承,方法重写,父类引用指向对象
多态的体现:里氏替换原则
分类:编译时多态:重载
运行时多态:重写