• java理论之java面向对象


    ---恢复内容开始---

    面向对象的四大特征:抽象   继承  封装   多态  

       一:面向对象中的类

          1:类的作用  代码复用

          2:类的构成---代码段 : 一个完整的大括号就是一个代码段,就代表一个独立的内存空间

               ---动态代码段 : 就是没有任何修饰的一对大括号

               ---静态代码段:用static修饰的一对大括号static{},是在加载阶段运行的代码段

               ---成员变量 : 保存在堆内存中,堆内存的大小是动态分配的.   它的调用对象名.成员变量名     成员变量属于关联关系---成员变量的值是另外一个类对象的应用

               ---静态变量 : 是属于类级别的,每个对象中的值都一样,保存在内存中的静态数据区   它的调用:类名.静态变量名

               ---局部变量 : 在方法中声明的变量是局部变量,并且声明的时候,就必须赋值    局部变量属于依赖关系 ---局部变量的值是另外一个类对象的应用

               ---常量 : 声明:public static final 数据类型 大写_ = 值 ; 在整个软件生命周期中,值不会改变

               ---成员方法 : 没有static修饰的方法叫成员方法    它的调用 : 通过对象名.成员方法名

               ---静态方法 : 用static修饰的方法   调用 : 类名.静态方法名----保存在静态代码区中

               ---构造方法 :用于在类实例化中,创建当前类对象的方法(实例化当前类对象); 默认是:公共的,静态的,没有返回值的,名字和类名一样的

               ---this对象 :1 给成员变量加前缀,然后赋值

                     2 用在构造方法中,重载调用本类中别的构造方法,this()重载调用的时候,必须写在构造方法的第一行

                     3 用于表示本类的对象,里面保存了本类的地址,this位于堆内存中第一个内存片中

                     4 在堆内存中,我们有堆内存中第一个内存片的内存地址作为整个对象的内存地址,并且命名为this

               ---super对象 : super代表的是当前子类对象中的父类型特征。

                        在子类的构造方法重载调用父类别的构造方法的时候,必须卸载第一行

                        super()和this()不能重复出现

                        super可以用来调用父类的成员属性和成员方法

          3:类的形式---系统类,类库类,普通类和内部类

                内部类分为4种 : 静态内部类

                        成员内部类

                       局部内部类

                       匿名内部类

          4:类的继承---一个类只能从一个类继承,只有成员变量和成员方法可以被继承(局部变量在方法的内部,无所谓被继承)

                 ---implements  可以从多个接口实现

                 ---继承中方法的覆写Override : 1 必须是有继承关系的两个类之间

                             2 方法名,返回值类型,参数列表必须相同

                             3 重写的方法不能比原有的方法有更低的访问权限

                             4 重写的类不能比父类有更宽泛的异常

                             5 私有方法不能被覆盖重写,即使被覆写了,也会访问父类的

                             6 构造方法不能被重写

                             7 静态方法不能被重写

                             8 覆写是特指成员方法的覆写,和成员变量,静态变量和静态方法无关

          5:类与对象之间 的6种关系 ---继承,实现,依赖(局部变量是另外一个类对象的引用),关联(成员变量是另外一个类对象的引用),聚合(类中的集合中的元素是另外一个类对象的引用),组合

          6:final---final修饰的类不能被继承

              final修饰的方法不能被重写

              final修饰的局部变量不能二次赋值

              final修饰的成员变量必须立刻赋值

                final修饰的静态变量,就是常量了

          6:特殊类:抽象类

               接口---里面全是抽象方法的类就是接口,接口里面没有变量只有常量

               常量---大写    public static final AAA;特点:在软件的生命周期不会改变

        二:对象 new对象实例化的4个步骤---1 调用构造方法;2  开辟空间;3 复制;4 赋值

        三:抽象类    用abstract修饰的类就是抽象类

              抽象类中不一定有抽象方法,但是抽象方法一定声明在抽象类中

              没有方法体的方法叫抽象方法,就是指大括号都没有的方法,需要用abstract修饰

              一个非抽象类结继承一个抽象类,必须把所有的抽象方法实现

              抽象类和抽象方法都不能被final,因为就是被用来继承实现的,final是不能被继承和覆写的,冲突

        四:接口  接口的声明---[修饰符列表] interface 接口名 {}

            接口内容   1 常量,psf,但是接口中默认就是常量,所以psf可以被省略

                  2 所有的方法都是抽象方法,所以abstract可以被省略

                  3 接口中没有构造方法,接口不能被实例化

                  4 接口之间可以多继承,extends

                  5 一个类只能继承一个类,但是可以实现多个接口

                  6 一个非抽象类,实现一个接口必须全部实现接口中的方法

        五:多态  多态发生在赋值的时候

            继承与实现---extend,implements

            向上转型---父类引用指向子类对象---把子类那个对象的内存地址赋值给父类对象的那个引用变量

            重写---@override

            向下转型---必须现有向上转型,然后才有向下转型

            多态的4种形式---成员方法多态:在方法声明的形参列表中的是父类的,调用传值的时候是子类的对象引用

                    ---构造方法多态:构造方法声明的时候,是父类传值的时候,是子类的对象引用

                    ---直接实例化多态:声明的时候是父类,实例化的时候是子类对象的引用的

                    ---成员变量多态:成员变量声明为父类的,但是赋值的时候,是子类的对象引用

        六:Object---toString()每个对象对自己的一个文字描述,默认是输出对象的内存地址

              ---hashCode()返回该对象的内存地址

              ---equals()默认比较引用数据类型的内存地址,需要按照你的需求进行重写

              ---finalize()系统清理某个对象的垃圾的时候会调用的方法

    ---恢复内容结束---

    面向对象的四大特征:抽象   继承  封装   多态  

       一:面向对象中的类

          1:类的作用  代码复用

          2:类的构成---代码段 : 一个完整的大括号就是一个代码段,就代表一个独立的内存空间

               ---动态代码段 : 就是没有任何修饰的一对大括号

               ---静态代码段:用static修饰的一对大括号static{},是在加载阶段运行的代码段

               ---成员变量 : 保存在堆内存中,堆内存的大小是动态分配的.   它的调用对象名.成员变量名     成员变量属于关联关系---成员变量的值是另外一个类对象的应用

               ---静态变量 : 是属于类级别的,每个对象中的值都一样,保存在内存中的静态数据区   它的调用:类名.静态变量名

               ---局部变量 : 在方法中声明的变量是局部变量,并且声明的时候,就必须赋值    局部变量属于依赖关系 ---局部变量的值是另外一个类对象的应用

               ---常量 : 声明:public static final 数据类型 大写_ = 值 ; 在整个软件生命周期中,值不会改变

               ---成员方法 : 没有static修饰的方法叫成员方法    它的调用 : 通过对象名.成员方法名

               ---静态方法 : 用static修饰的方法   调用 : 类名.静态方法名----保存在静态代码区中

               ---构造方法 :用于在类实例化中,创建当前类对象的方法(实例化当前类对象); 默认是:公共的,静态的,没有返回值的,名字和类名一样的

               ---this对象 :1 给成员变量加前缀,然后赋值

                     2 用在构造方法中,重载调用本类中别的构造方法,this()重载调用的时候,必须写在构造方法的第一行

                     3 用于表示本类的对象,里面保存了本类的地址,this位于堆内存中第一个内存片中

                     4 在堆内存中,我们有堆内存中第一个内存片的内存地址作为整个对象的内存地址,并且命名为this

               ---super对象 : super代表的是当前子类对象中的父类型特征。

                        在子类的构造方法重载调用父类别的构造方法的时候,必须卸载第一行

                        super()和this()不能重复出现

                        super可以用来调用父类的成员属性和成员方法

          3:类的形式---系统类,类库类,普通类和内部类

                内部类分为4种 : 静态内部类

                        成员内部类

                       局部内部类

                       匿名内部类

          4:类的继承---一个类只能从一个类继承,只有成员变量和成员方法可以被继承(局部变量在方法的内部,无所谓被继承)

                 ---implements  可以从多个接口实现

                 ---继承中方法的覆写Override : 1 必须是有继承关系的两个类之间

                             2 方法名,返回值类型,参数列表必须相同

                             3 重写的方法不能比原有的方法有更低的访问权限

                             4 重写的类不能比父类有更宽泛的异常

                             5 私有方法不能被覆盖重写,即使被覆写了,也会访问父类的

                             6 构造方法不能被重写

                             7 静态方法不能被重写

                             8 覆写是特指成员方法的覆写,和成员变量,静态变量和静态方法无关

          5:类与对象之间 的6种关系 ---继承,实现,依赖(局部变量是另外一个类对象的引用),关联(成员变量是另外一个类对象的引用),聚合(类中的集合中的元素是另外一个类对象的引用),组合

          6:final---final修饰的类不能被继承

              final修饰的方法不能被重写

              final修饰的局部变量不能二次赋值

              final修饰的成员变量必须立刻赋值

                final修饰的静态变量,就是常量了

          6:特殊类:抽象类

               接口---里面全是抽象方法的类就是接口,接口里面没有变量只有常量

               常量---大写    public static final AAA;特点:在软件的生命周期不会改变

        二:对象 new对象实例化的4个步骤---1 调用构造方法;2  开辟空间;3 复制;4 赋值

        三:抽象类    用abstract修饰的类就是抽象类

              抽象类中不一定有抽象方法,但是抽象方法一定声明在抽象类中

              没有方法体的方法叫抽象方法,就是指大括号都没有的方法,需要用abstract修饰

              一个非抽象类结继承一个抽象类,必须把所有的抽象方法实现

              抽象类和抽象方法都不能被final,因为就是被用来继承实现的,final是不能被继承和覆写的,冲突

        四:接口  接口的声明---[修饰符列表] interface 接口名 {}

            接口内容   1 常量,psf,但是接口中默认就是常量,所以psf可以被省略

                  2 所有的方法都是抽象方法,所以abstract可以被省略

                  3 接口中没有构造方法,接口不能被实例化

                  4 接口之间可以多继承,extends

                  5 一个类只能继承一个类,但是可以实现多个接口

                  6 一个非抽象类,实现一个接口必须全部实现接口中的方法

        五:多态  多态发生在赋值的时候

            继承与实现---extend,implements

            向上转型---父类引用指向子类对象---把子类那个对象的内存地址赋值给父类对象的那个引用变量

            重写---@override

            向下转型---必须现有向上转型,然后才有向下转型

            多态的4种形式---成员方法多态:在方法声明的形参列表中的是父类的,调用传值的时候是子类的对象引用

                    ---构造方法多态:构造方法声明的时候,是父类传值的时候,是子类的对象引用

                    ---直接实例化多态:声明的时候是父类,实例化的时候是子类对象的引用的

                    ---成员变量多态:成员变量声明为父类的,但是赋值的时候,是子类的对象引用

        六:Object---toString()每个对象对自己的一个文字描述,默认是输出对象的内存地址

              ---hashCode()返回该对象的内存地址

              ---equals()默认比较引用数据类型的内存地址,需要按照你的需求进行重写

              ---finalize()系统清理某个对象的垃圾的时候会调用的方法

  • 相关阅读:
    IE CSS Bug及解决方案参考手册
    如何学习Javascript
    JS获取当前对象大小以及屏幕分辨率等
    自适应网页设计的方法
    【Javascript Trick系列】二、table相关操作
    移动web开发经验总结
    兼容各种浏览器的常用按钮样式
    获取浏览器的高度和宽度
    让页面弹框垂直水平居中
    Vue is used in projects
  • 原文地址:https://www.cnblogs.com/xcxcxc/p/4664098.html
Copyright © 2020-2023  润新知