Java-day02

一:数组

  • 数组的定义

       

  • 数组的遍历

        

  • 创建数组的方式

           (1)

                   

             (2)

                 

 

 

  • 数组的内存

 

  • 数组与函数的联合使用

  • 值传递和址传递

         值传递:方法里面不可以控制控制外面的数组

          址传递:方法里面可以控制外面的数组  精髓:是否让两个或多个数组指向同一地址

   

  • 址传递的注意点

  • 二维数组定义

      

       

 

  • 二维数组的遍历与创建

    

  •    Arrays类

    

     

  • 数组的扩容

      

  • 字符串和字符数组的相互转变

    

二:排序

  • 种类

          冒泡  选择  希尔  快排   归并  插入  堆排  桶排

  • 时间复杂度和空间复杂度

       

        

 

  • 冒泡排序

          

 

                   

  • 选择排序

      

         

         

 

三:查找

  • 查找的定义

    

  • 二分查找

        

四:面向对象

  • 面向对象三要素

     

  • 理解面向对象

 

       

  • 面向对象的特点

             

         

  • 面向对象与面向过程的总结

 

      

 

  • 类与面向对象的关系

       

  • 类的定义

 

        

  • 创建对象

   

        数组就是特殊的对象

  • 对象的内存

      

  • 多引用指向同一对象

 

  • 匿名对象(只想用一次的对象,无引用指向的对象就是匿名对象)

        

         

      小注意点:

         

      当一个对象无引用指向时gc会自动回收(gc回收主要是堆内存中进行)

  • static修饰成员的功能

    通过引用调用静态的成员会报警告,通过类名调用静态成员,通过类名不能调用非静态成员,静态成员放在静态方法区,整个系统都会共享这个变量

  • 成员变量特点

     

  • 成员变量与局部变量的区别

    

  • 静态成员与非静态成员的区别

      

      

  • 内存展示static的成员

类调用静态成员因为字节码文件是一个对象,字节码文件出现的早,new出的对象出现的晚,所以出现时间晚的可以调用出现时间早的,所以可以直接用类名调用静态成员而不可用类名调用非静态成员

当方法中要用非静态成员变量时,要保证方法是非静态的(也是用创建时间早晚来解释)

   static总结:

    

  • 构造方法与他的创建和基本构成

       

  • 使用构造方法的注意点

       

  • this的使用

        

       

       

       this总结

        

  • 构造代码块与静态代码块

         

          

  • 构造代码块

             new一个对象的时候总是先执行构造代码块,再执行构造函数,但是有一点需要注意构造代码块不是在构造函数之前运行的,它是依托构造函数执行的

      构造代码块的作用:

           1.初始化实例变量

             如果一个类中有若干个构造函数,这些构造函数都需要对实例变量进行初始化,如果我们直接在构造函数中实例化,必定会产生代码的冗余,繁琐和可读性差,我们可以利用构造代码块来实现,这是利用编译器会将构造代码块添加到每个构造函数中的特性

           2.初始化实例环境

             一个对象必须在适当的场景下才能存在,如果没有适当的场景,则就需要在创建对象时创建此场景。我们可以利用构造代码块来创建此场景,尤其是该场景的创建过程较为复杂。构造代码会在构造函数之前执行。

  • 静态代码块、构造代码块、构造函数执行顺序

    

       1、 静态代码块,它是随着类的加载而被执行,只要类被加载了就会执行,而且只会加载一次,主要用于给类进行初始化。

       2、 构造代码块,每创建一个对象时就会执行一次,且优先于构造函数,主要用于初始化不同对象共性的初始化内容和初始化实例环境。

       3、 构造函数,每创建一个对象时就会执行一次。同时构造函数是给特定对象进行初始化,而构造代码是给所有对象进行初始化,作用区域不同。

(1)封装

  • 定义

       

  • 脏数据

        

  • public private proteced 默认的区别

       

  • get和set方法(按照规则生成主要是用于JavaBean中属性的)

(2)继承

    继承中子类与父类出现同名的属性,父类的会被覆盖掉

  • 继承调用方法

     

  • 重写

       重写的总结:  1:方法的签名相同,方法体不同

                               2:子类方法不能缩小父类方法的访问权限

                               3:子类方法不能抛出比父类方法更多的异常

                               4:存在于父子类中

                               5:方法被定义为final不能被重写

            

  • super

     super总结

        

  • 构造方法在继承中的使用

 

(3)多态

         一种事物的多种形态,继承是多态的前提

         父类的引用指向子类的对象

       

多态 (向上造型): 父类引用不可以调用子类独有的方法

 

  • 重载

            重载是让类以统一的方式处理不同类型数据的一种手段,多个同名函数同时存在,具有不同的参数个数/类型。

重载是一个类中多态性的一种表现

            重载的总结:  1:参数类型、个数、顺序至少有一个不同

                                    2:不能重载只有返回值不同的方法名

                                    3:存在于父类和子类、同类中

                                    4:对于继承来说,如果某一方法在父类中的访问权限是private,那么就不能在子类对其进行重载。

                     如果定义了只是定义一个新方法,不会达到重载的效果。

  

 

  • 转型

     

<转型指的是引用 例如new Student() 引用是Person,相对new出的对象而言引用是向上的所以是向上转型,编译阶段只考虑前面的引用>

  • instanceof

     

  instanceof的前后必须有继承关系

     

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值