JavaSE-day09

面向对象三大特征(思想)

封装

        思想:包装一段代码

        优点:

                1、降低耦合度

                2、美化

                3、保护内部

                4、方便使用

        包

                本质:一个文件夹

        创建包

                1、选择src文件夹,点击鼠标右键,选择new,选择package

                2、填写包名

               注意: 包名使用全小写,不要用数组开头,不要出现特殊符号

               包名的命名潜规则: com.公司名称缩写.作用

                注意:.表示下一层文件夹

                关键字:  package

                导包

                关键字:import

                为什么要导包: 所需使用的类与当前类不在同一个包中

        访问权限修饰符

                意思:限制属性,方法,构造函数,类等的使用范围

        分类:

关键字意义范围
public公共的当前项目中
protected受保护的当前包中或继承关系
不写默认的当前包中
private私有的当前类中

        总结

                一般情况下

                        属性用private,方法与类用public修饰

                        属性用private修饰后需提供get与set方法

继承

        概念:

                生活中的继承:晚辈获取长辈留下的财产与精神

                代码中的继承:子类拥有父类所有属性与方法,构造函数除外

                        多个类(B1,B2)抽取其共同点形成了一个类(A)

                        判断类A是否与类B有继承关系

                        如果类B与类A存在继承关系,可以让类B继承与类A,此时类B将拥有类A的所有属性与方法

                        类B:称为子类

                        类A:称为父类

        优点:1、减少代码

                   2、使代码结构清晰

                   3、降低代码冗余度

        语法:

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

                        属性

                        构造函数

                        方法

                }

        注意:

                1、Java中只有单继承

                2、如果没有写继承,那么系统会默认继承于object

                3、如果父类中的方法与子类中方法名相同,返回值类型相同,形参列表相同,子类访问权限修饰符大于等于父类访问权限修饰符,那么该方法称为重写

super

        概念:子类中使用父类中的内容

        使用:

                属性

                        特殊情况:子类中的属性名与父类属性名相同,如何区分?

                                子类:this.属性名;

                                父类:super.属性名

                方法

                        特殊情况:子类重写父类所有方法,在子类中使用该方法,如何区分是子类方法还是父类方法?                   

                                子类:this.方法名(实参列表);

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

                构造函数

                        特殊情况:创建子类对象时,需要给父类构造函数传值

                        语法:

                                super(实参列表);

                        注意:一定要在子类构造函数第一行

                

多态

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

        对象:

        如:类A继承于类B

                类A:子类

                类B:  父类

        类名A   对象名A  =  new  类名A();

        类名B   对象名B   =   对象名A;                              //子类对象转为父类对象,可以自动转换

        类名A    对象名A2   =   (类名A)对象名B;        //父类对象转化为子类对象,需强制转换

方法

        重写

                发生在继承关系中

                子类访问权限修饰符必须大于等于父类访问权限修饰符

                返回值类型相同

                方法名相同

                形参列表相同

                方法体不同

        重载

                发生在同一个类中

                方法名相同

                形参列表不同

                方法体不同

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值