JAVA 笔记(三)

  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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/255613.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

安装Wamp后 Apache无法启动的解决方法

安装Wamp后 Apache无法启动的解决方法,网上的解决方案可以说是五花八门,有些说了一大推,一点作用都起不到。 其实解决方法只需两步: 1、安装路径不能包含有中文,这个我不知道为什么,总之如果安装路径中包含…

【Not all parameters were used in the SQL statement】

在添加游标的时候,添加preparedTrue cursor mydb.cursor(preparedTrue) 感谢博主: 【已解决】Python MySQL: Not all parameters were used in the SQL statement - MoonYear530 - 博客园一、事故缘起 今天构造了一个超过 50 多个参数的 SQL 插入语句…

解决Android Studio报错:DefaultAndroidProject : Unsupported major.minor version 52.0

问题描述 今天使用Android Studio 2.0打开我之前的项目时,编译报了如下错误: Error:Cause: com/android/build/gradle/internal/model/DefaultAndroidProject : Unsupported major.minor version 52.0 其中build.gradle文件内容如下所示: // …

SQL语句:从一个表里按年份统计条目数

比如一个数据表名称叫deploypool, 需要知道里面每一年的记录数, 而add_date字段里有增加记录时的时间, 那么语句如下: SELECT EXTRACT(YEAR from add_date),COUNT(id) FROM deploypool GROUP BY EXTRACT(YEAR from add_date);

Php 与 Json

PHP与JSON 在PHP中存在两个与JSON相关的函数: json_encode($array或$object)函数:把一个数组或对象转化为JSON格式的字符串 json_decode($json,$flag)函数:把一个JSON格式的字符串转化为数组或对象 $flag :true,代表转…

docker supervisor + compose

一: Supervisor Docker 容器在启动的时候开启单个进程,比如,一个 ssh 或者 apache 的 daemon 服务。但我们经常需要在一个机器上开启多个服务,这可以有很多方法,最简单的就是把多个启动命令放到一个启动脚本里面…

【pyqt5学习】——tableWidget学习

设置单元格列宽 self.tableWidget.setColumnWidth(0,200) 设置第一行和表头之间的表格线 self.tableWidget.horizontalHeader().setStyleSheet("QHeaderView::section{background:skyblue;color: black;}")

SUSE团队已将重心偏向GCC 7

2019独角兽企业重金招聘Python工程师标准>>> SUSE的Andreas Jaeger在博客中发表了一篇关于SUSE Linux Enterprise Server 12操作系统更新工具链以及它所带来的新开发工具的博文。文章指出,随着GNU Compiler Collection 7的发布,GCC团队为开发…

eclipse-连接TFS错误 the server to respond with a valid http response解决方法

解决办法 如果普通凭证有多个,则将普通凭证给删除。 转载于:https://www.cnblogs.com/nidongde/p/6277243.html

项目总结——机房收费系统合作版

机房合作就结束了,这次合作开发是第一次与别人一块儿开发一个系统,收获还是蛮大的。以下我总结几点算是经验吧,供以后參考: 管理上1.计划在准备合作开发之前我们三个去找米老师,老师给我们规定了时间。半个月。尽管计划…

CenterOs 防火墙设置

为什么80%的码农都做不了架构师?>>> 1. 重启后生效的 开启: chkconfig iptables on 关闭: chkconfig iptables off 2. 及时生效 开启: service iptables start 关闭: service iptables stop 查看防火墙规则…

提交MTBF eservice以及log注意事项

[DESCRIPTION]提交MTBFeservice需要注意的描述,log事项[SOLUTION]提交MTBF eservice时,请注意1.描述清楚问题现象2. 描述清楚问题发生的时间点3.描述清楚问题发生时在run的case提交log时请注意1.MTBF的log通常会很大,若log太大,只…

Apache Cassandra和Apache Ignite:关系并置和分布式SQL

为什么80%的码农都做不了架构师?>>> 在上一篇文章中,回顾和总结了Cassandra中使用的查询驱动数据模型(或者说非常规数据模型)方法论的缺陷。事实证明,如果不对查询有深入的了解,通过该方法论将…

【pyradiomics学习】——安装pyradiomics以及简单示例

目录 数据集下载: 示例代码 参考文献: bug修复 运行结果: 数据集下载: https://www.jianguoyun.com/p/DcEwQq0Q45bOBxj09JYC (访问密码: gd8dmv) 示例代码 #!/usr/bin/env python # -*- coding: utf-8 -*- # Time : 20…

【pyradiomics学习】——影像组学特征

目录 1、形状特征(14个) 2、一阶特征(18个) 灰度共生矩阵特征(24个) 灰度区域大小矩阵特征(16个) 灰度行程矩阵特征(16个) 邻域灰度差矩阵特…

Hyper-v Server 2012 Release Candidate 部署体验

很多人知道,Microsoft Hyper-V分为两种类型:一种是作为Windows Server的一个组件,另一种是作为虚拟化产品的单独服务器。虽然两者都是技术上的Hyper-V,每个版本的特性和用例各不相同。 Hyper-V Server直接在物理机器硬件上运行&am…

面向对象的七大原则

总脉络图: 一:单一职责原则(全称:“Single-Responsibility Principle”)又称 单一功能原则 核心:解耦和增强内聚性(高内聚,低耦合) 说明: 就一个类而言,应该只专注于做一…

excel 多列匹配相等后 引用值

2019独角兽企业重金招聘Python工程师标准>>> 场景 如图下,当A、B列与E、F列皮配上,C列则引用G列的值 原理 VLOOKUP只能查找单列值。我们可以把多列值拼接后形成一个虚拟列,然后VLOOKUP函数查找这个虚拟列进行匹配。 在C1处输入下…

【BUG调试】——OSError: Caught OSError in DataLoader worker process 0

目录 问题描述: 参考链接 问题分析 解决方案 出现情况 问题描述: 在使用pytorch搭建了VGG从头开始训练时出现了以下问题: OSError: Caught OSError in DataLoader worker process 0 参考链接 参考up主视频:4.2 使用pytor…

iOS 图解多线程

转载于:https://www.cnblogs.com/OnNineMonkey/p/5385963.html