java基础整理1
2013-10-31 21:32
246 查看
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指定好的验证规则。
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指定好的验证规则。
相关文章推荐
- Spring中bean作用域属性scope
- Swing插件(拖拉控件)-vs4e的简单使用
- Java中static、final用法小结
- Java中变量内存分配机制
- JAVA中REPLACE和REPLACEALL的区别(转)
- Java浮点运算-BigDecimal
- mysql replication driver 在jdk1.6下失效问题解决
- 在MyEclipse中配置Weblogic10服务器
- NetBeans的(默认)快捷键
- java线程安全
- Struts2漏洞分析,漏洞波及全系版本
- [置顶] JDK工具(一)–Java编译器javac
- spring aop获取目标对象的方法对象(续)
- java socket 编程经典实例
- Java基础笔记 – Annotation注解的介绍和使用 自定义注解
- [置顶] OpenJDK源码研究笔记(九)-可恨却又可亲的的异常(NullPointerException)
- java代码从键盘输入n的值,计算1+1/2+1/3+...+1/n的值,,
- web.xml 配置详解
- spring classpath扫描
- Java 注册监听器的方法总结(自身类this+外部类+内部类+匿名内部类+适配器Adapter+一个组件注册多个监听器)