黑马程序员 基础知识小总结


----------- android培训java培训、java学习型技术博客、期待与您交流! ------------

/**方法重载
       * 当定义的功能相同 但参与运算的位置内容不同
       * 那么 这时就定义一个函数名称以表示起功能 方便阅读
       * 而同过参数列表的不同来区分多个同名函数
       *
       * 提高代码的复用性 避免重复代码出现 重复代码封装调用
       * 重载和返回类型没有关系  重写才有关系
       * 返回类型 形参类型  参数个数 都属于重载
       * 方法名相同当返回类型不一  参数类型顺序一致 不属于重载 系统不知道调用那个方法
       * @param args
       */
\

数组
同一种类型数据的集合 其实数组就是一个容器
数组的好处
可以自动给数组中的元素从0 开始编号 方便操作这些元素

格式  []表示这是个数组
 元素类型[] 数组名 = new 元素类型[元素个数或数组长度]    (new 在内存中产生一个容器实体)
int [] x=new int[3];  x不是int类型 x是数组类型

栈内存 使用完毕 会自动释放  每一片内存中的数据出理方式不一样 局部变量会在栈内存中开辟空间 
堆内存 new 出来的实体 new一个就在堆里产生一片空间 
      (垃圾回收)堆   栈(自动释放)     (赋值)来进行联系 即使引用或者是指向堆内存中的地址值(数组地址值 16进制)
堆内存对象都有一个存放位置  数组在堆内存中存放的时候有一个起始位置
堆内存对象都有默认初始化值 int 0| double 0.0 |float 0.0f |boolean false
当一个实体在对内存当中没有任何引用所使用它的话 java虚拟机就识别为垃圾 会被垃圾回收机制在对内存中清除

2个引用指向了同一个对象 第一个改变了该对象的属性 另一个由于指向的是同一个对象 那他也会变化  (单例模式)

引用数据类型的特点 (重点)
java 垃圾回收机制
当内存中的实体用的多了就占用空间 空间是有限的 C++中回收是由程序员手动操作的
java中堆内存中不再被使用中的实体被回收机制清楚





int [] arr =new int [4];   都是可以的 介意这个
int arr[] =new int [4];      数据不明确知道长度可以这么做

数组可以由静态初始化方式定 义
int [] arr=new int []{3,2,45,6,9};  这个地方不要指定数组长度了 这是在数据明确的情况下


int  arr[]=new int [3];  里面默认的都是0  
当要查询的数据超过数组长度 就会越界 语法报错
当执行对内存中的栈内存变量=null 后就表示与对内存中原先指向的数据没有关系了 
操作的话就话报空指针异常 (领悟)当引用没有指向 或为null的情况下 还在操作实体

获取最值 需要进行比较 每一次比较都会有一个较大的值 因为改制不确定
通过一个变量进行临储
让数组中的每一个元素都和这个变量进行比较
如果大于变量中的值 就用该变量记录较大值
当所有的元素都比较完成 那么该变量中存储的就是数组中德最大值

Arrays.sort(arr) arr数组


Substring 有个 reverse() 可以将里面的字符窜 倒过来

2维数组 int[][] arr=new int[2][4];  表示有一二维 数组内包含2个包含4个元素的一维数组 

 int[]x    int[]y[]
  int[] x,y[];  这个表示x 是一维数组 y是二维数组


java 面向对象 
类和对象的关系:
类就是:对现实生活中事务的描述
对象:就是这类事务实实在在存在的个体

成员变量和局部变量:
作用范围
成员变量作用于整个类中
局部变量作用与函数中 或者语句中
在内存中的位置
成员变量 在堆内存中 因为对象的存在 才在内存中存在
局部变量 存在栈内存中


注意:
私有仅仅是封装的一种表现形式 封装并不是私有

构造函数与一般函数在写法上 与用法上不同
构造函数在对象一初始化 就执行 而一半方法是一半方法调用才执行  是添加对象具备的功能
一个对象建立 构造函数只运行一次
而一半方法可以被该对象多次调用
方法被对象调用 

构造代码块是给所有对象进行初始化 
而构造函数是给对应的函数进行初始化
构造代码块 不同对象的共性的写在构造代码块里 都执行

 this看上去 是用于区分局部与类部成员变量
this为什么可以解决这个问题呢  this代表的是什么
answer: this就代表本类的对象,
注意: /***this代表它所在函数所属对象的引用 **/

this 的饮用 : 当定义类中功能时 该函数类部要用到调用该函数的对象时 这时 用this来表示这个对象
但凡 本类功能类部使用到了本类对象用this来表示

构造函数之间的调用 用到类似this(name) 
this语句用于构造函数之间互相调用
this只能构造在函数的第一行

this调用不能造成构造函数间出现死循环

static 特点:
1 随着类的加载而加载   也就是说 静态会随着类的消失而消失 说明生命周期长 
2 优先于的对象存在      明确一点  静态是先存在的  对象是后存在的
3 被所有对象所共享
4 可以直接被类名调用 

实例变量     类变量  
1 存放位置:
类变量随着类的加载而存在于方法区中
实例变量随着对象的建立而存在于堆内存中
2 生命周期
类变量生命周期最长 随着累的消失而消失
实例变量生命周期随着对象的消失而消失    (new出来的都是在堆内存中 引用类型也在堆内存中)

静态使用注意事项
1 静态方法只能访问静态成员
2 非静态方法既可以访问静态也以访问非静态
 静态方法中不可以定义this super关键字
因为静态优先于对象存在 所以静态方法中不可以出现this

主函数 作为程序的入口 可以被jvm调用
主函数的定义
public  代表着该函数访问权限是最大的
static   代表着主函数随着类的家在就已经存在了
void     主函数没有具体的返回值
main    不是关键字 但是可以被jvm识别
函数的参数(String[] args) 参数类型是一个数组 该数组中的元素是字符窜  字符窜类型的数组
主函数是固定格式的

----------------------- android培训java培训、java学习型技术博客、期待与您交流! ----------------------

详情请查看:http://edu.csdn.net/heima


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值