面向对象
对象是该类事物实例化的个体
类是对这个事物的描述 是抽象的
类:是有属性 和方法组成的
面向对象的 三大特征: 封装 继承 多态
封装
之前写的方法就是一个封装 将一个功能写好后放在这个方法中 我们就不用去重复的写这个代码了 可以直接掉方法。
类也是一个封装
封装少写代码提高安全性 重复调用这个方法
封装的概念:隐藏实现细节,对外提供访问
继承
什么是继承:
继承是多态的前提,继承让类与类之间产生了关系 ,
只要有了继承子类就可以自动拥有继承父类可继承的成员方法和成员变量
好处:
提高了代码的复用性 它让两个类之间产生了关系,提高了开发的效率
子类可以重写父类中的方法
成员变量的特点:
当访问的成员变量子父类出现重名时通过子类对象调用时访问的是子类的(如果想要访问父类中的要用super关键字)super.点调用的是成员变量 super() 括号是方法
通过子类对象访问的成员变量子类中没有 ,访问的则是从父类中继承过来的
成员方法的特点
方法可以被子类覆盖(重写)如果调用方法时子类没有则会调用父类的有就掉子类的
好处
提高代码的复用性
方法的重写
方法名返回值参数一模一样就叫方法的重写
多态
什么是多态:
在代码中 父类引用变量指向子类对象
多态的前提:
要有继承关系。
多态中成员访问的特点分别是什么?:
成员变量:编译时如果等号(=)左边的变量中有 ,则编译通过 ,如果没有则报错 运行时同样也是运行等号左边的。(向上转型)
成员方法:编译时如果等号(=)左边的变量中有,则编译通过, 运行时则看等号右边的 有就运行, 没有则运行等号左边中的。
访问得是静态的成员方法(static)编译时如果等号(=)左边的变量中有,则编译通过 ,如果没有编译报错 ,运行时也是运行左边的。
弊端:
访问不到子类中特有的方法和成员变量。
向上转型 ,只能是访问父类中有的方法和变量 子类中特有的无法访问 (如果要访问:向下转型)
好处:
隐藏了子类的类型,提高了代码的拓展性。
向下转型:
在多态中如果要访问子类中特有的方法和变量需要向下转型
注意向下转型时需要先向上转型。
格式:
Fu f=new zi();
zi z=(zi)f;
在乡下转型是可以使用 instanceof 来进行判断父类中是否包含这个子类。
instanceof:使用
if(f instanceof zi){
zi z=(zi)f;
}

浙公网安备 33010602011771号