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,一经查实,立即删除!

相关文章

ERROR: SampleCB() - buffer sizes do not match 解决方法

笔记本有内置摄像头。Windows7驱动已经安装成功&#xff0c;利用QQ测试摄像头正常。但是利用OpenCV简单的摄像头操作后&#xff0c;就会出现ERROT: SampleCB() - buffer sizes do not match的问题。下面是代码&#xff1a; #include<iostream> #include <opencv2/co…

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

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

MySQL的my.cnf文件(解决5.7.18下没有my-default.cnf)

官网说&#xff1a;从5.7.18开始不在二进制包中提供my-default.cnf文件。参考&#xff1a;https://dev.mysql.com/doc/refman/5.7/en/binary-installation.html 经过测试&#xff0c;在5.7.18版本中&#xff0c;使用tar.gz安装时&#xff0c;也就是压缩包解压出来安装这种&…

【Not all parameters were used in the SQL statement】

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

opencv 文件模块 解析

OpenCV包括以下几个模块&#xff0c;具体功能是&#xff1a; 1、CV&#xff1a;主要的OpenCV函数 2、CVAUX&#xff1a;辅助的&#xff08;实验性的&#xff09;OpenCV函数 3、CXCORE&#xff1a;数据结构与线性代数支持 4、HIGHGUI&#xff1a;图像界面函数 5、ML&#xff1a;…

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

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

Alpha 通道的概念与功能

RGBA采用的颜色是RGB&#xff0c;可以属于任何一种RGB颜色空间&#xff0c;但是Catmull和Smith在1971至1972年间提出了这个不可或缺的alpha数值&#xff0c;使得alpha渲染和alpha合成变得可能。提出者以alpha来命名是源于经典的线性插值方程αA (1-α)B所用的就是这个希腊字母…

【ValueError: Target is multiclass but average=‘binary‘. Please choose another average setting, one 】

完整报错为&#xff1a;ValueError: Target is multiclass but averagebinary. Please choose another average setting, one of [None, micro, macro, weighted]. 解决方法 对于多分类任务&#xff0c;将 from sklearn.metrics import f1_score f1_score(y_test, y_pred) 改为…

debian apt-get联网安装mysql服务

安装mysql和卸载mysql 1.安装数据库&#xff1a;sudo apt-get install mysql-server 安装过程中需要设置密码。 2.安装客户端&#xff1a;sudo apt-get install mysql-client 3.登录MySQL&#xff1a;mysql -u root -p 4.配置文件&#xff1a;/etc/mysql/my.cnf a.设…

【资料下载区】【iCore、 iCore2相关资料】更新日期2017/1/11

【新产品发布】【iCore2 ARM / FPGA 双核心板】 【iCore系列核心板视频教程】之 SDRAM 读写实验 【iCore双核心组合是开发板例程】【uCGUI 例程及代码包下载】【iCore双核心组合是开发板例程】【12个 verilog 中级实验例程发布】【iCore、iCore2 双核心板】EPCS 实验&#xff0…

图像数据格式基础知识

JPEG文件格式简单分析 作者&#xff1a;小爽 摘要&#xff1a; 这篇文章大体上介绍了JPEG文件的结构信息以及它的压缩算法和编码方式。使读者能够对JPEG文件格式有大体上的了解。为读者进一步进行学习JPEG文件压缩做好准备 关键字&#xff1a;十六进制&#xff0c;段格式&am…

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

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

为什么需要架构图,怎么画?

Technorati 标签: 架构图,架构,交流,布局不知不觉中做架构师也已经4年了&#xff0c;最初的感觉只是一个名号&#xff0c;不再把代码作为强制的任务&#xff0c;后来开始慢慢的转变工作内容。画图&#xff0c;成为了我的主要工作。我可能不是每天都在写代码&#xff0c;但却是每…

Jenkins构建时间Poll Scm的设置(常用设置)

每15分钟构建一次&#xff1a;H/15 * * * * 或*/5 * * * * 每天8点构建一次&#xff1a;0 8 * * * 每天8点~17点&#xff0c;两小时构建一次&#xff1a;0 8-17/2 * * * 周一到周五&#xff0c;8点~17点&#xff0c;两小时构建一次&#xff1a;0 8-17/2 * * 1-5 每月1号、15号…

图像格式基础

所谓位映像&#xff0c;即是指一个二维的像素矩阵&#xff0c;而位图就是采用位映像方法显示和存储图像。一幅图像的显示就是将图像的像素映射到屏幕的像素上并显示一定的颜色。当一幅图形的像素由彩色表示时就是我们通常所说的彩色图像了。 由于数字图像可以表示为矩阵…

aop理解

1.切面&#xff08;Aspects&#xff09;常常通过通知&#xff08;advice&#xff09;、切点&#xff08;pointcuts&#xff09;和织入点&#xff08;join points&#xff09;来描述 2.通知&#xff08;advice&#xff09;有5种 Before——前置通知&#xff0c;在调用目标方法之…

Php 与 Json

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

docker supervisor + compose

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

AngularJS(1)——入门学习

AngularJs相关概念 在w3schools中针对AngularJs的介绍为: AngularJS extends HTML with new attributes. AngularJS is perfect for Single Page Applications (SPAs). ProAuditObject ProAuditObj1 new ProAuditObject(); ProAuditObj1.setLproid(proId); Pr…

C# 字符,字符串和文本处理。

1. 字符&#xff1a; 在.net中 字符是表示成16为Unicode代码值。每个字符都是System.Char结构&#xff08;一个值类型&#xff09;的实例。 public class StringTempte{public static void GetChar(){double d;d char.GetNumericValue(\u0033);Console.WriteLine(d.ToString()…