java基础整理1
1、匿名对象:new persion().tell();这样的,它只开辟栈内存,没有栈引用的关系
2、构造方法的名称必须与类名称一致,构造方法的声明处不能有任何返回值类型的声明,不能在构造方法中使用return返回一个值
3、String有两种比较方式:一种是使用“==”完成,比较的是地址值;另一种是使用"equals"方法完成,比较的是具体的内容
4、String类两种实例化方法的区别:
直接赋值:String str1 = "hello"; String str2 = "hello"; String str3 = "hello"; 那这两个地址是相同的,可以有效节省堆内存
通过关键字new赋值:String str = new String("hello");实际是开辟两个内存对象
5、字符串内容的改变,改变的是内存地址的引用关系
6、this关键字的作用:表示类中的属性this.name = name;调用本类的构造方法,构造方法可以互相调用,使用this(参数)的形式完成,注意在使用this关键字调用其他构造方法时,this()调用方法的语句只能放在构造方法的首行,在使用this调用类中其他构造方法时,至少有一个构造方法是不用this调用的,以防止递归调用的情况出现;表示当前对象
7、java常用的内存区域:栈内存-->可以保存对象的名称(更准确地说是保存了引用的堆内存空间的地址);堆内存-->保存每个对象的具体属性;全局数据区-->保存static类型的属性;全局代码区-->保存所有的方法定义
8、使用static方法,不能调用非static的属性或方法
9、java代码块:普通代码块-->使用{}包含的,里面的变量属于局部变量,不能在代码块之外使用;构造块-->将代码块直接定义在类中,构造块优先于构造方法执行,且执行多次,只要一有实例化对象产生,就执行构造块中的内容;静态代码块-->使用static关键字声明的代码块,静态代码块优先于主方法执行,普通类中定义的静态块优先于构造方法执行,不管有多少个实例化对象产生,静态代码块只执行一次。静态代码块的作用主要用于静态属性的初始化
10、
11、final关键字声明类、属性、方法:使用final声明的类不能有子类;使用final声明的方法不能被子类覆写;使用final声明的变量即成为常量,常量不可以修改。
12、抽象类:包含一个抽象方法的类必须是抽象类;抽象类和抽象方法都要使用abstract关键字声明;抽象方法只需要声明而不需要实现;抽象类必须被子继承,子类(如果不是抽象类)必须覆写抽象类中的全部方法;抽象类可以继承抽象类
13、接口是一种特殊的类,里面全部是由全局常量(static final)和公共的抽象方法(abstract)组成,也可以简化定义不写,一个接口不能继承一个抽象类,但是却可以通过extends关键字同时继承多个接口,实现接口的多继承,interface 子接口 extends 父接口A, 父接口B,...{}
14、对象的多态性:对象向上转型:父类 父类对象 = 子类实例; 对象向下转型: 子类 子类对象 = (子类)父类实例;
15、instanceof关键字判断一个对象到底是哪个类的实例,格式:对象 instanceof 类 -》 返回boolean类型
16、
以上的正则,如果想驱动起来,则必须依赖Pattern类和Matcher类,Pattern主要是表达一个规则的意思,即:正则表达式的规则需要在Pattern类中使用。Matcher类主要表示使用Pattern指定好的验证规则。
java基础整理1的更多相关文章
- JAVA基础整理-集合篇(一)
集合作为JAVA的基础知识,本来感觉自己理解的很清楚了,但是在最近的一次面试中还是答得不尽如人意!再次做一下整理,以便加深理解以及随时查阅. 首先,java.util包中三个重要的接口及特点:List ...
- Java基础整理
一.Java中的遍历 1.在java开发中会碰到遍历List删除其中多个元素的情况,如果使用一般的for循环以及增强的for循环,代码会抛出异常ConcurrentModificationExcept ...
- Java基础整理(1)
1.源代码的文件名必须与公共类(public)的类名一致,而且一个源代码文件中最多只能有一个公共类(public) 2.注释: 3种 行注释 以双斜线 // 开始 段落注释 /* 注释内容 ...
- Java基础整理之字节、数组、字符串、面向对象
一.字节(8个)8bit = 1B或1byte1024B = 1Kb 二.强制类型转换顺序及其大小顺序遵循向上转换的规则byte,short,char -> int -> long -&g ...
- java基础整理总结篇(1)
>>java数据区域,大致分以下几种 寄存器:位于cpu内部,寄存器的数量有限,所以寄存器根据需求分配.不能直接控制它. 堆栈:位于通用RAM(随机访问存储器)中,通过堆栈指针可以从处理器 ...
- 6 Java基础整理 第六-八章
1.封装 封装的目的是简化编程和增强安全性. 简化编程是指,封装可以让使用者不必了解具体类的内部实现细节,而只是要通过提供给外部访问的方法来访问类中的属性和方法 增强安全性是指,封装可以使某个属性只能 ...
- [Java面经]干货整理, Java面试题(覆盖Java基础,Java高级,JavaEE,数据库,设计模式等)
如若转载请注明出处: http://www.cnblogs.com/wang-meng/p/5898837.html 谢谢.上一篇发了一个找工作的面经, 找工作不宜, 希望这一篇的内容能够帮助到大 ...
- Java基础进阶整理
Java学习笔记整理 本文档是我个人整理的,首先是想通过完成本文档更加扎实自己的基础加强对java语言的理解,然后就是想给入了门的同志们做下贡献. 当然,本文档主要是对java语言基础(当然还有很多基 ...
- 转载:[Java面经]干货整理, Java面试题(覆盖Java基础,Java高级,JavaEE,数据库,设计模式等)
原文:http://www.cnblogs.com/wang-meng/p/5898837.html 一:继承.抽象类与接口区别.访问控制(private, public, protected,默认) ...
随机推荐
- C++经典编程题#4:单词翻转
总时间限制: 1000ms 内存限制: 65536kB 描述 输入一个句子(一行),将句子中的每一个单词翻转后输出. 输入 只有一行,为一个字符串,不超过500个字符.单词之间以空格隔开. 输出 ...
- http请求及模拟浏览器发送http请求
/** *测试新增图片 * @throws IOException * @throws HttpException * @throws SAXException * @th ...
- iOS 并发编程之 Operation Queues
现如今移动设备也早已经进入了多核心 CPU 时代,并且随着时间的推移,CPU 的核心数只会增加不会减少.而作为软件开发者,我们需要做的就是尽可能地提高应用的并发性,来充分利用这些多核心 CPU 的性能 ...
- glOrtho、glFrustum && glPerspective
glOrtho :正交投影,摄像机可以位于裁剪体内,所以near和far可以取两个正值或者一正一负 glFrustum :透视投影,摄像机不可以位于裁剪体内,所以near和fa ...
- Jboss 安全和优化
一. Jboss后台启动:添加后台修改命令:vi run.shwhile true; do if [ "x$LAUNCH_JBOSS_IN_BACKGROUND" ...
- 使用代码创建AutoLayout约束
使用代码创建AutoLayout约束 1.代码创建约束的步骤 2.代码创建约束的常用方法 3.代码创建约束的原则 4.禁用Autoresizing的原因 5. 设置相对状态栏的约束,使用self.to ...
- Android -- Looper.prepare()和Looper.loop() —深入版
Android中的Looper类,是用来封装消息循环和消息队列的一个类,用于在android线程中进行消息处理.handler其实可以看做是一个工具类,用来向消息队列中插入消息的. (1) Loope ...
- TDE与列级数据加密
一.测试TDE此部分内容扩展SQL Server安全系列的第九篇:SQL Server安全透明数据加密的测试TDE章节.启用TDE的详细步骤请参考原文. -- Create a test databa ...
- XCode环境变量及路径设置
一般我们在xcode里面配置包含工程目录下头文件的时候,都要关联着相对路径和绝对路径,如果只是自己用这个项目,用绝对路径的问题不大,但是如果你把工程发给别人,别人就要在改这个绝对路径,这时候绝对路径的 ...
- Vue.2.0.5-列表渲染
v-for 我们用 v-for 指令根据一组数组的选项列表进行渲染. v-for 指令需要以item in items 形式的特殊语法, items 是源数据数组并且 item 是数组元素迭代的别名. ...