1. NullPointerException:空指针异常 原因:数组已经不再指向堆内存了。而你还用数组名去访问元素。
  2. 对于查找问题,如果找到就返回其索引值,如果找不到就要返回一个负数(一般是负一)这是必须的,否则如果找不到,就没有返回值,这样程序就会报错。
  3. 二维数组的元素是一个一维数组(这样好理解二维数组);一维数组是引用类型,默认值是null.
  4. 二维数组的格式 数据类型【】【】变量名=new 数据类型【m】[n];m表示这个二维数组有多少个一维数组,n表示每一个一维数组的元素个数。
  5. 二维数组的其他格式:数据类型 变量名【】【】=new数据类型【m】【n】,数据类型【】变量名【】=new数据类型【m】[n];(这两种不推荐使用);
  6. 输出数组名是一个地址值;
  7. 数据类型【】【】变量名=new 数据类型【m】[],这种定义只给出二维数组中包含了m个一维数组,但是并没有给出一维数组元素的个数,这时我们给以动态给出,并且每一个一维数组的个数可以不同(就是列可以不同);
  8. 一维数组没有分配空间是null(因为一维数组是引用类型)分配之后才是对应类型的默认值。
  9. 二维数组的第一个值是必须要给的,否则无法分配内存, 因为就不知道要多少空间,第二个值可以给也可以不给。
  10. 二维数组的静态定义:数据类型【】【】变量名=new数据类型【】【】{{元素1}{元素2}……..};简化版:数据类型【】【】变量名={{元素1}{元素2}……};
  11. 二维数组的遍历:外循环的是二维数组的长度,其实就是一维数组的个数。内循环控制的是一维数组的长度。
  12. 方法存在内存的方法区(有方法标记识别,否则被别的程序调走)。
  13. Java中的参数传递问题:基本数据类型:形式参数的改变对实际参数没有影响。引用类型:形式参数的改变直接影响实际参数(因为二者指向的地址一样)
  14. 因为static变量也就是静态变量,在程序运行过程中被声明后就会一直保存在内存里,所以只能声明一次,第二次再访问那个函数时,给静态变量声明同时赋值的语句就不再执行了,而静态变量的值始终保存在内存里,也就是上次改变以后的值。(知道程序结束)没有static修饰的函数中的变量,只在函数被执行时占用内存,函数执行完毕后就被销毁,数据也就不存在了,所以每次都要声明,值也就不会变。
  15. 面向对象将我们从执行者变成指挥着(爽吧);
  16. 面向对象:首先想到这个问题有多少类。然后类中有什么东西,最后看类与类之间的关系。类的获取一般是名词。(uml语言有所介绍);
  17. 面向对象的三大特征(封装,继承,多态);
  18. 多态的定义:指允许不同类的对象对同一消息做出响应。即同一消息可以根据发送对象的不同而采用多种不同的行为方式。(发送消息就是函数调用)
  19. Java中最基本的单位是类。类是一组相关属性和行为的集合,对象是该类事物的具体表现。
  20. 成员变量和局部变量的区别:A;成员变量(在类中方法外),局部变量(在方法定义中或者方法声明上)B:成员变量:在堆内存,局部变量:在栈内存。成员变量:随着对象的创建而存在,随着对象的消失而消失。局部变量:随着方法的调用而存在,随着方法的调用完毕而消失;成员变量:有默认初始化值,局部变量:没有默认初始化值,必须定义,赋值,然后才能使用。
  21. 局部变量名称和成员变量名称可以一样,在方法中使用的时候,采用的就近原则。
  22. 如果你看到一个方法的形式参数是一个类(引用类型)这里其实需要的是该类的对象。
  23. 匿名对象:没有名字的对象。(new s()  就是一个匿名对象);
  24. 匿名对象的应用场景:A;调用方法,仅仅只调用一次的时候,多次调用不适合(因为多次开辟堆内存)好处:匿名对象调用完毕后就是垃圾,可以被垃圾回收器回收。B;匿名对象可以作为实际参数传递。
  25. Private:私有的。可以修饰成员变量和成员方法。被private修饰的成员只能在本类中使用。
  26. 封装:是指隐藏对象的属性和实现细节,仅对外提供公共的访问方式。(提高代码复用性和安全性)
  27. This:是当前类的对象引用。简单的记,它就代表当前类的一个对象。方法被那个对象调用,this就代表哪个对象。
  28. 构造函数;给对象的数据进行初始化。方法名和类名一样,没有返回值类型,连void都没有,没有具体的返回值,故也没有return.,它可以重载。
  29. 给成员变量赋值的两种方式:setXxx(),  构造方法。
  30. Student s=new Student();做了哪些事情:                                                                
  31. 变量的范围是越小越好,因为这样可以及时的回收。
  32. 导入的包必须出现在所有的类前面。
  33. 针对多个对象有共同的成员变量值的时候就可以用static关键字(比如国籍);
  34. Static的特点:(他可以修饰成员变量和修饰成员方法)a:随着类的加载而加载(回想main方法)B:优先于对象存在c;被类的所有对象共享(如果某个成员变量是被所有对象共享的,那么它就应该是静态的)D;可以通过类名调用(其实它本身也可以通过对象名调用,推荐使用类名调用)静态修饰的内容一般我们称其为:与类相关的。类成员。
  35. Static关键字注意事项:A;在静态方法中是没有this关键字的(因为静态是随着类的加载而加载,this是随着对象的创建而存在,静态比对象先存在,即前面不能调用后面)b:静态方法只能访问静态的成员变量和静态的成员方法。,而非静态方法既可以访问静态成员变量和静态成员方法,也可以访问非静态的成员和方法。(静态只能访问静态,非静态可以访问一切)
  36. 思考题:构造方法中可不可以有return语句呢?
  37. 可以。而是我们写成这个样子就OK了:return; 其实,在任何     的void类型的方法的最后你都可以写上:return;
  38. 构造方法的注意事项A:如果我们没写构造方法,系统将提供一个默认的无参构造方法B:如果我们给出了构造方法,系统将不再提供默认构造方法,这个时候如果我们想用无参构造方法就必须自己写出。(推荐永远自己写出);
  39. 工具类中是可以使用静态的。将构造方法私有化,外界就不能创建对象了。
  40. 如何制作一个说明书:A;写一个工具类B;对这个类加入文档注释/**    */C:用工具解析文档注释(javadoc工具)d:格式javadoc –d 目录 –author –version 工具类名称.java.  -------->待续

转载于:https://www.cnblogs.com/yc74/p/5352550.html

JAVA 笔记(三)相关推荐

  1. 那年学过的Java笔记三核心类库三

    线程 基本概念 程序 - 数据结构 + 算法,主要指存放在硬盘上的可执行文件. 进程 - 主要指运行在内存中的程序. 目前主流的操作系统都支持多进程,是为了让操作系统同时执行多个任务,但进程是重量级的 ...

  2. 那年学过的Java笔记三核心类库二

    集合类 数组和集合的比较 数组的特点: 本质上就是一段连续的存储空间,用于记录多个类型相同的数据. 支持下标访问,可以实现随机访问. 数组一旦定义则长度固定,无法自动调整内存空间的大小. 增删元素不方 ...

  3. 那年学过的Java笔记三核心类库一

    核心类库一: 抽象类 抽象方法的概念 抽象方法就是指不能具体实现的方法,也就是该方法没有方法体,使用abstract关键字修饰 具体语法格式如下: 访问控制符 abstract 返回值类型 方法名称( ...

  4. java笔记三java基础语法

    Final关键字 package demo07;public class Demo02Final {/*day11[final.权限.内部类.引用类型]* 学习了继承之后,子类可以对父类的方法进行重写 ...

  5. java需要记的语法,Java笔记(三)……基础语法

    myeclipse,eclipse控制台输出乱码问题 首先我描述一下问题,我在做udp socket编程(一个聊天的程序)的时候,从控制台中读取中文,然后再向控制台中打印,出现中文乱码的情况. 1.出 ...

  6. Effective Java笔记第五章枚举和注解第三节用EnumSet代替位域

    Effective Java笔记第五章枚举和注解 第三节用EnumSet代替位域 在以前如果一个枚举类型的元素主要用在集合中,一般就会使用int枚举模式.比如说: public class Demo ...

  7. java学习笔记(三):前端miniUI控件库入门

    java学习笔记(三):前端miniUI控件库入门 最近在一家公司实习学习,一上来就需要学习了解相关的前端内容--miniUI.而这个内容自己本身并没有了解学习过,上手也是遇到了不少的问题,于是想把自 ...

  8. java多线程三之线程协作与通信实例

    多线程的难点主要就是多线程通信协作这一块了,前面笔记二中提到了常见的同步方法,这里主要是进行实例学习了,今天总结了一下3个实例: 1.银行存款与提款多线程实现,使用Lock锁和条件Condition. ...

  9. J2EE学习笔记三:EJB基础概念和知识 收藏

    J2EE学习笔记三:EJB基础概念和知识 收藏 EJB正是J2EE的旗舰技术,因此俺直接跳到这一章来了,前面的几章都是讲Servlet和JSP以及JDBC的,俺都懂一些.那么EJB和通常我们所说的Ja ...

  10. Java笔记07-List、Set、数据结构、Collections

    Java笔记07-List.Set.数据结构.Collections 主要内容 数据结构 List集合 Set集合 Collections 第一章 数据结构 2.1 数据结构有什么用? 当你用着jav ...

最新文章

  1. 有哪些好用的协同办公软件?
  2. Mongodb python驱动教程
  3. 对一致性Hash算法,Java代码实现的深入研究
  4. Boost:bind绑定作为一个组合的测试程序
  5. mysql启动多端口
  6. 第五节:EF Core中的三类事务(SaveChanges、DbContextTransaction、TransactionScope)
  7. 奇妙的安全旅行之DES算法(二)
  8. Qt总结之十九:Qt中控件new之后需不需要delete的问题
  9. File类里的静态字段
  10. 记住:永远不要在MySQL中使用utf8,请使用utf8mb4
  11. 181030每日一句
  12. win7局域网共享设置_局域网硬盘一键共享软件下载-一键共享局域网修复查看设置工具包免费版...
  13. C语言短除法求二进制数,C语言中实现十进制转二进制输出
  14. Ubuntu 2004 鼠标可以移动但是点击无响应 排查流程
  15. 【166】VS2022调试通过海康人脸抓拍SDK的C++代码
  16. 狼人杀攻略:你当我好骗吗,我们相信谁!
  17. 手动绘制R语言Logistic回归模型的外部验证校准曲线(Calibration curve)(2)
  18. 电子采购:制造业的“救星”
  19. 考考眼力,找下代码的bug
  20. [Python] PyQt5+Pycharm 实现省、市、区/县三级联动效果

热门文章

  1. 带权并查集--hdu3047 ZJnu stadium
  2. 数论--中国剩余定理模板
  3. HDU - 1253 胜利大逃亡(搜索)
  4. 浅聊一下各类以太网媒体接口MII/RMII/SMII/GMII/RGMII/SGMII
  5. [深度学习] AutoDis --- KDD2021 连续特征的Embedding学习框架
  6. 【face-landmarks】人脸关键点检测汇总
  7. 复制 和 粘帖 的方法(特别在linux中),备忘
  8. Quartus II与 ModelSim功能仿真与后仿真扫盲(转)
  9. 大疆 机器学习 实习生_我们的数据科学机器人实习生
  10. 美元贬值越来越严重,美元会不会有崩溃的一天?