美文网首页
java基础总结2

java基础总结2

作者: Lobo_asd | 来源:发表于2018-11-03 11:38 被阅读0次

1. 数组

1.1定义:

数组是编程语言中最常见的一种数据结构,可用于存储多个数据,每个数组元素存放一个数据,通常可通过数组元素的索引来访问数组元素,包括为数组元素赋值和取出数组元素的值。

1.2数组的特点:

  • 一个数组内的所有数组元素具有相同的数据类型
  • 一旦数组初始化完成,数组所占的内存空间将被固定下来,因此数组的长度将不可改变,但是数组中的数据是可以改变的
  • 数组即可以存储基本类型的数据,也可以存储引用类型的数据,比如String
  • 数组本身也是一种数据类型,属于引用类型的。比如int属于基本类型,但是int[] 则是引用类型
  • 数组的每个元素都对应一个下标,下标是从0开始计算的,即下标0对应的是第一个元素、下标1对应的而是第二个元素,依次类推。

1.3 初始化

  • 静态初始化:初始化时由程序员显式指定每个数组元素的初始值,由系统决定数组的长度
  • 动态初始化:初始化时由程序员指定数组的长度,由系统为数组元素分配初始值,但是程序员

1.4 排序

  • 冒泡排序口诀:
    N个数字来排队
    两两相比小靠前
    外层循环N-1
    内存循环N-1-i
  • 选择排序
  • 插入排序

2. 类

2.1 属性:全局变量/成员变量

 * 全局变量:创建对象,会给默认值的
 *      整数类型:0
 *      浮点类型:0.0
 *      字符型:' '
 *      布尔型:false
 *      引用数据类型:null
 * 局部变量:方法中的变量
 * 全局变量 vs 局部变量
 *  全局变量作用域在整个类里
 *  局部变量作用域在方法里
 *  
 *  全局变量有默认值
 *  局部变量没有默认值
 *  局部变量必须有值,才能使用

2.2 构造方法:与类名相同,且没有返回项的方法

应用场景:初始化数据
ps:无参构造 -- java会在没有其他的构造方法的情况下,默认实现

2.3 代码块

  • 每次创建该类的对象,都会被调用,且优先级别比构造方法高
  • 应用场景:初始化数据
  • 代码块 vs 构造方法
    代码块:初始化数据,调用一些属性或方法初始化
    构造方法:可以从外界传入数据

2.4 访问修饰符:

  • public -- 公有的
  • private - 私有的
  • protected - 受保护的
    • private
      修饰属性:属性不能被外界调用
      修饰方法:方法不能被外界调用
    • protected
      修饰属性:属性只能被本类和子类调用
      修饰方法:方法只能被本类和子类调用

2.5 this关键字

this:本对象

  • 调用属性:调用本对象的属性
  • 调用方法:调用本对象所属类的方法
  • 调用构造方法:调用别的构造方法
  • ps:
    调用构造方法不能在普通方法中调用
    在A构造方法中,调用B构造方法,必须写在第一句

2.5 static关键字:静态的

 *      1.修饰属性:类属性(这个属性不属于任何对象)
 *          ps:全局变量每个对象独享一份,静态全局变量每个对象都共享
 *          生命周期:
 *              创建 -- 导入字节码文件,系统会扫描字节码文件,把静态全局变量加载到静态常量区
 *              销毁 -- 项目结束时
 *          应用场景:static + fianl 
 * 
 *      2.修饰方法:类方法(这个不方法不属于任何对象)
 *          ps:静态方法只能调用静态的全局变量
 *          应用场景:工具类
 *      3.静态代码块
 *          static{}
 *          ps:
 *              1.在加载类的.class文件时,调用静态代码块
 *              2.静态代码块只执行一次
 *              3.类的.class文件只加载一次
 *          应用场景:初始化数据
 *          构造方法 vs 代码块 vs 静态代码块
 *          应用场景的区别:
 *              构造方法:初始化从外界传入的数据
 *              代码块:初始化固定数据(每创建一个对象都被调用)
 *              静态代码块:初始化固定数据(类加载时,被调用)
 *          优先级别的区别:
 *              静态代码块 > 代码块 > 构造方法

2.6 final关键字 : 最终

  • 修饰变量 -- 常量
  • ps:
    1.存储在常量池中,并且要等到整个项目销毁时,常量才会被消费
    2.常量全部大写,单词之间用下划线隔开ps: CLASS_ID
    2.修饰方法:方法不能被重写
    3.修饰类:类不能被继承

2.7 继承

子类通过extends关键字继承父类,可以使用父类的非私有属性和方法,当子类方法和父类相同时,则重写父类方法。

2.8 super关键字

super:父类对象

  • 调用属性:调用父类对象的非私有属性
  • 调用方法:调用父类对象所属类的非私有方法
  • 调用构造方法:调用父类的非私有构造方法,有参无参均可
  • ps:
    子类只能在构造方法中调用父类的构造方法,且必须写在代码块的第一排

相关文章

网友评论

      本文标题:java基础总结2

      本文链接:https://www.haomeiwen.com/subject/hskkxqtx.html