面向对象三大特征 封装 继承 多态

封装

概念:包装(为了实现高内聚低耦合)

优点:

        1保护内部

        2降低耦合度,联系越弱越好

        3方便使用

Java中包的本质就是文件夹,

包的命名

        1,必须是全小写,不能以数字开头,不能使用关键字或保留字,不建议用中文,不要使用特殊符号

        2,潜规则,com.公司名称缩写/项目名.分类名称(.表示下级文件夹 . 相当于斜杠,一个.表示一个文件夹)

        包的关键字:package:说明当前文件所在的包

同一个包中文件名不可以重复不同包下的文件名称可以相同

导包:在当前Java文件中使用别的文件夹下的Java文件,需要导包(开发工具自动导包)

导报关键字:import

访问权限修饰符 

作用:限定其修饰内容使用范围

分类

public                公共的               当前项目中都可以使用

protected          受保护的            当前包中或继承关系中使用

不写                  默认的               当前包中使用

private              私有的                当前类中使用

经验:

        属性使用private修饰,方法使用public修饰,特殊情况特殊处理.

        自己写公共的get() set()方法获取或者修改private属性值.可以在get() set()方法中对输入的值加以判断是否合法.

标准类:

        私有化所有属性,提供一个无参构造,提供一个全参构造,提供所有属性的get()set()方法,重写toString方法

访问权限修饰符 class 类名{

        private 属性

        构造函数

        get

        set

        普通方法

        toString

}

继承

概念

生活中:子代获得父辈遗留下的精神或物质财产

代码中:子类将拥有父类所有的属性和方法(构造函数除外)

注意:

        1一个子类只能有一个直接父类(单继承)

        2是否存在继承关系(从生活经验来看不能让猪类继承于人类)

        3所有类都是Object类的子类

        4没明确写继承于哪个类的类默认继承于Obiect类

语法格式

        访问权限修饰符 class 子类名 extends 父类名{

                属性

                方法

                构造函数

        }

super

含义:谁调用super所在的方法,super就代表谁的父类对象

        创建子类对象时会创建父类对象,子类对象默认会调用父类的无参构造函数,父类没有无参构造函数子类就会报错

        子类构造函数必须调用父类构造函数,子类构造函数中默认有一行super()

使用:

        场景一:调用父类构造函数

                语法:super(实参列表)

        场景二:子类对象属性与父类对象属性重名时(父类对象该属性不能是private修饰)

                语法:super.属性名        父类提供属性

                属性名                  子类特有的属性

        场景三:子类方法名与父类方法名相同形参列表相同时

                super.方法名(实参列表)                父类方法

                方法名(实参列表)                          子类方法

super只能在子类中使用.

多态

 概念:一个事物的多种形态

物的多态

        子类对象转换为父类对象:自动转型

                父类名 对象名 = 子类对象;

        父类对象转换为子类对象:强制转换(有风险)

                子类名 对象名 = (子类名) 父类对象

                强制转换可能会出现异常

注:子类对象转成父类对象后无法使用子类特有的属性与方法

      子类对象转成父类对象后可以使用父类提供的属性与方法

instanceof(关键字)

        判断该对象是否属于该类   

        语法:父类对象/子类对象 instanceof 子类对象

        返回值为boolean要有继承关系

事的多态

1重载

        要求:同一类中,方法名相同,形参列表不同

2重写

        (1)继承关系中

        (2)子类该方法的访问权限修饰符不小于父类的该方法的访问权限修饰符

        (3)返回值类型相同

        (4)方法名相同

        (5)方法体不同

        继承中如果形参列表不同是重载不算重写

        注:子类重写父类方法,子类重写后的方法将覆盖父类原有方法,子类即使转换为父类,该父类对象调用的还是重写后的方法

 重载与重写区别:

        1发生关系的位置不同,重载发生在同一个类中,重写在继承关系中

        2访问权限修饰符要求不同,重载没有要求,重写子类必须不能小于父类

        3返回值类型要求不同,重载没有要求,重写要求子类返回值类型必须与父类相同

        4方法名要求相同,都要求方法名一致

        5形参列表要求不同,重载要求形参列表不同,重写要求形参列表相同

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值