JAVA初学笔记8

面向对象三大特征

封装

        思想:将事物包装起来

        优点:

                1,方便使用

                2,保护内部

                3,降低耦合度

        封装的体现:

                变量:封装着一个值

                数组:封装着一组数据类型相同的值

                对象:封装着多个属性的值与可以使用方法

                类:封装着属性,方法,构造函数

                java文件:封装着多个类

                方法:封装一段代码

                ...

        包:

                是什么?

                        文件夹

                命名规则:

                        全小写

                        com.公司名称缩写/项目名称缩写.分类名

                        注意: . 表示下级文件夹

                作用:存储java文件

        导包:

                为什么要导包:

                        当前java文件中使用别的包下的java文件需要导包

                        关键字:import

                注意:如果当前使用类有当前包下的,也有其他包下的,而且类名相同,此时不建议导包

                        导包时*表示所有

        语法:

                impor 包名.类名;

        书写位置:

                类上,包下

        访问权限修饰符:

                作用:限定内容的适用范围

                关键字:

                        public                  公共的               当前项目中使用

                        protected            受保护的            在当前包下或继承关系中可用

                        不写                    默认的               在当前包下可用

                        private                私有的                当前类中使用

                建议:

                        1,使用private修饰属性

                        2,提供public修饰的get与set方法,同于对属性值的修改与获取

继承

        代码中:

                子类将拥有父类的所有属性与方法,构造函数除外

        语法:

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

                }

        优点:

                1,提高代码开发效率

                2,方便修改

                3,降低耦合度

        注意:

                 1,需要判断两个类是否有继承关系

                 2,一个类只能拥有一个直接父类(单继承)

                 3,一个类没有写出集成,那么默认继承与object类

super

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

        作用:

                1,当父类属性名/方法名与子类属性名/方法名相同,用于区分

                        this.属性名/方法名(实参列表);或属性名/方法名(实参列表)子类的属性或方法

                        super.属性名/方法名(实参列表)父类的属性或方法

                2,调用父类的属性或方法(this也可以调用)

                3,调用父类构造函数

                        super(实参列表);

                        注意:

                                1,必须在子类构造函数第一行

                                2,如果子类构造函数中没有调用父类构造函数,系统会为其自动添加super()

                                   调用父类无参构造,如果父类没有无参构造,那么子类构造函数将会报错

有继承关系时创建情况:

          例子:

                class A{

                        属性A

                        方法A

                }      

                class B extends A{

                }

                class Test{

                        public static void main(String [] args){

                                B b = new B();

                        }

                }

多态

        概念:一个事物拥有多种形态

        事的多态:

                重载

                        同一个类中

                        方法名相同

                        形参列表不同

                重写

                        继承关系中

                        子类方法与父类方法

                        子类方法的的访问权限修饰符不能小于父类的

                        返回值类型相同

                        方法名相同

                        形参列表相同

                        方法不同

        物的多态:

                子类对象可以转换为父类对象(自动转换)

                语法:

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

                注意:

                        1,子类对象转换为父类对象后,该父类对象不能调用子类特有的属性或方法

                        2,子类对象转换为父类对象后,该父类对象调用重写的方法,执行的是子类中的方法

                        3,子类对象转换为父类对象后,该父类对象调用未重写的父类方法,执行的是子类继承                            父类的方法

                父类对象转换为子类对象(强制类型转换)

                语法:

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

                注意:

                        父类对象转换为子类对象,可能出现ClassCastException(类型转换异常)

        instanceof关键字

                作用:判断该对象是否属于该类

                语法:

                        boolean 变量名 = 对象名 instanceof 类名;

                        如果变量值为true,表示该对象时该类的对象,可以进行转换

                        如果变量值为false,表示该对象不是该类的对象,不能进行转换

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值