javaSE知识点第四章

数组(被后期内容集合优化)
    1. 数组不同定义方式 【面试注意】
       int[] a;
       a = new int[5];
       int[] a = new int[5];
       int[] a = new int[]{1,5}
       int[] a = {5,7};
    2. 数组遍历:
       for(int i=0;i<a.length;i++){
              a[i] // 获取数组中元素
              }
       注意:如果超过数组的下标范围,则编译不报错,运行报错,错误信息:java.lang.ArrayOutOfBoundsException(数组下越界)
   3. 数组扩容:
      (1) 定义一个新的更大长度的数组,通常为原数组的2倍
      (2) 将原数组中数据一一复制到新数组中
      (3) 新地址覆盖旧地址

面向对象

一、对象 【重点】

  1. 对象:复杂客观事物在计算中的一种表现形式(一切客观存在的事物都是对象)

  2. 类:类对一类对象的描述,描述该类对象具有那些属性(特点)和哪些方法(功能)

  3. 类的组成部分:

    (1) 属性:描述对象的特点,利用变量进行存储(成员变量)
    (2) 方法:描述对象的功能,利用之前函数进行表现
  4. 属性:

    (1) 位置:定义在类以内,方法以外
    (2) 语法:数据类型 变量名;
    (3) 属性:也称为成员变量
    (4) 成员变量和局部变量的区别:从位置区分两种变量  【面试重点】
                 成员变量                    局部变量
        位置:   定义在类以内,方法以外        定义在方法以内
        默认值: 具有默认值                  没有默认值,先赋值后使用
               整数:0
               小数:0.0
               布尔:false
               字符:空字符('/u0000')
               引用:null
               String str;
        作用范围:至少在本类                  从定义位置开始,到定义它的代码块结束
        命名冲突:成员和局变量可以命名相同,       在重合的作用范围内,不允许命名冲突
                但是冲突时,局部变量有效使用,
                利用this.区分成员变量 
    
  5. 成员方法:
    (1) 定义在类以内,方法以外
    (2) 语法:
        修饰符  返回值类型 方法名(形参列表){
               // 方法的实现部分(逻辑)
        }
    (3) 方法分两个部分:方法的声明和方法实现
        a.方法的声明:   修饰符 返回值类型  方法名(形参列表)异常      -- 代表对象能做什么
                       注意:一个方法中可以同时定义多个修饰符,而且没有位置先后之分
                       
        b. 方法的实现:{}                                      -- 代表声明的功能如何实现
        
    (3) 方法的重载(overload):
        a. 概念:在一个类中多个同名的方法,但是形参列表不同
        b. 方法重载的要求:【面试重点+阅读api文档时应用】
           I. 方法名相同
           ii. 形参列表不同(参数的个数、类型、顺序)
           iii. 方法的修饰符、异常、返回值类型没有要求
     
    (4) 构造方法:也称为构造器(construtor)
        a. 构造方法是特殊的方法
        b. 构造方法的特点: 
           I. 构造方法的方法名必须和类名一致
           ii. 构造方法没有返回值类型(连void都没有)
               返回值类型 类名(){}
               例如:public Student(){}
           iii.构造方法允许重载
           iv. 构造方法不允许手动调用
        c. 构造方法在创建对象时,jvm根据指定的实参调用对应的构造方法,而且一个对象只能使用一次构造方法(创建的时候);
           但是一个构造方法可以被多个对象使用
           
        d. 构造方法的作用:
           i. 创建对象
           ii. 利用构造方法为属性赋值
           
        e.注意:如果一个类中没有提供任何构造方法,则jvm默认提供一个公开的、无参数的构造方法;
               如果类中提供了有参数的构造方法,则默认的构造方法不再提供
               已经提供有参数的构造方法,同时还想使用无参数的构造方法,则手动提供无参数的构造方法
               
        f. 实际开发的技巧:、
           一个类中通常提供两个构造方法,一个无参数的构造方法,再提供一个有参数的构造方法(参数取决于属性:个数、顺序、名字)
     
        定义一个类:Phone,属性:brand(品牌)、price(价格)、count(库存)、color(颜色)
                 (1) 提供构造方法
                 (2) 定义测试类,并创建对象,打印输出对象信息
    

二、this的应用

  1. 第一种应用:this. 【重点】

    (1) this:代表当前对象,访问当前对象的属性或是成员方法,可以应用当前类中的构造方法或是成员方法中
    (2) this.属性名  
        this.成员方法名(实参);
    (3) 通常情况 this.可以省略,但是当成员变量和局部变量命名冲突时,必须使用this.访问成员变量
    
  2. 第二种应用:this()

    (1) this():应用在当前类中构造方法中,代表调用本类的其他构造方法
    (2) 注意:this()的应用必须定义在构造方法中第一行有效语句
    (3) 注意:实际开发时,一个中不能所有的构造方法第一行都定义this()/this(实参),避免回环(递归)调用
    定义一个类Cup,属性:brand(品牌)、texture(材质)、capacity(容量)、color(颜色)
    提供构造方法,
    定义测试类,创建对象,并展示对象信息
    

三、引用【理解】

补充:Java是一种强类型的语言,数据必须存储对应类型的变量中
  1. 引用:对象类型的变量称为引用

    类名 引用名 = new 类名();
      引用         对象
     引用类型       对象的类型
    注意:由于Java是强类型的语言,引用的类型需要和存储的对象类型一致
         Teacher t = new Teacher();
         Student s = new Student();
  2. 引用存储对象在堆空间中首地址

  3. 每个对象在堆空间中相互独立,操作一个对象,不会影响其他对象

  4. 引用可以单独声明:

    类名 引用名;   -- 声明引用
    Student s;
  5. 同类型的引用之间相互赋值,传递的是对象在堆空间中的地址

    Student s1 = new Student();
    Student s2 = s1;
    注意:s1和s2指向同一个对象
  6. 通常情况下,可以利用null作为引用的初始值,null代表空引用/空地址(不指向堆空间中任何对象)

    如果使用存储null的引用调用对应的属性或是方法时,则编译通过,运行报错,错误信息为:
    java.lang.NullPointerException(空指针异常)
  7. 引用的应用:

    (1) 引用可以应用在形式参数上:对应类型的对象和引用都可以作为参数进行传递
    (2) 引用可以应用在返回值上:对应类型的对象和引用都可以作为返回值进行返回
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值