面向对象

  今天突发奇想的想把脑子里的面向对象整理一下,纯属随手一记。如果有误请多加指导。

面向对象思想: 万物皆对象。

  举个例子:我想吃大盘鸡。

  面向过程:a,自己去买菜,买鸡。b,自己处理菜,鸡。c,自己做菜。d,自己吃

  面向对象:a,让一个人去买菜。b,一个人处理菜,鸡。c,让人做菜。d,自己吃

一:封装

  把本类特有的属性私有,外部想访问只能通过我提供的特有方法。

  优点:隐藏信息。

  关键字:private(只修饰变量和方法,不修饰类)

二:继承

  有两个以上的类具有相同的属性及方法,此时就可以将其进行提取成一个类出来。提取出来的这个类就是父类。通过继承可以直接使用其非私有的方法及属性。

 总结:a, java只支持单继承。b, 构造方法不被继承(构造方法是特有的,实例化对象的时候需要使用)。c,子类在实例的时候会先访问父类的构造方法。

  方法重写:除了修饰词(子类方法的修饰符访问权限必须小于或等于子类方法的访问修饰符)及返回值(子类方法返回值必须与父类相同或者父类返回值得子类)之外其余都相同。

  优点:提高代码复用性。

  关键字:extends继承

三:多态

  一种事物的多种表现形式。

  体现:方法的重写及重载,向上转型,向下转型。

    a,向上转型:子类类型转为父类:Fu fu = new Zi();  不能再访问子类特有的方法或者属性。

    b,向下转型:父类类型转为子类:Zi  zi = (Zi)fu;

  总结:

    a,使用多态之后访问成员变量时:都会访问父类的成员变量(编译看左边,运行看左边)

    b,使用多态之后调用方法时:子类重写父类的方法时调用的都是子类,没有重写调用父类(编译看左边,运行看右边)

    c,使用多态之后访问静态时:都会访问父类的(编译看左边,运行看左边)

  优点:提高代码可维护性及可扩展性,简化代码。

  弊端:不能访问子类中特有的方法及属性。

五:拓展

  1:this:表示当前对象的引用。

  2:super:表示父类对象的引用。

  3:static:被其修饰的方法或变量都属于类,可以用类名直接调用。

  4:final:最终修饰符。

    a,修饰类:不能被继承。

    b,修饰方法:不能被重写。

    c,修饰变量:不能再改变。

  5: 访问权限修饰符:public>protected>default(默认)>private

    a,public:可以被子类,本类,同包,不同包使用。

    b,protected:可以被子类,本类,同包使用。

    c,default:本类,本包使用。

    d,private:本类使用。

    注意:类只能被public和default修饰

  6:instanceof:判断某个对象是否是指定的类型(语法:对象 instanceof 类型   结果是boolean)

    注意:instanceof只能使用在引用数据类型中



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值