Java中的作用域及构造器
2016-06-18 21:03
330 查看
1、作用域决定了在其内定义的变量名的可见性和生命周期,在Java中,作用域由花括号的位置决定。作用域里定义的变量只能用于作用域之前。如在下面这段代码中,第一个for循环中的变量i在花括号结束后,生命周期已经结束。在变量i生命周期结束之后,可以重新定义i,比如说第二个for循环里的i,否则不允许。
2、Java对象不具备和基本类型一样的生命周期,当使用new创建一个Java对象时,它可以存活于作用域之外,在下面的这个例子中引用s在作用域终点,即最后的花括号处已经消失,但s指向的String对象仍然继续占据内存空间,这个String对象的生命周期并没有结束。
构造器
构造器是以类名命名的方法,没有任何返回值。
1、构造器是一种特殊的方法,没有返回值,但与void不同,构造器不返回任何东西,new表达式确实返回了对象的引用,但构造器本身没有任何返回值。
2、构造器是隐式的静态方法,但构造器不能被继承,而静态方法可以被继承。
3、如果没有定义构造器,则Java会生成默认的不带任何参数的构造器,若已经定义了构造器,则编译器不会帮你自动创建默认构造器。
4、若有几个构造器,则只能在构造器内调用另一个构造器,但不能调用两个构造器,且被调用的构造器要放在最起始处。就像下面所示代码一样。
for (int i = 0; i < N; i ++) { a[i] = i; } for (int i = 0; i < N; i ++) { b[i] = i; }</span>
2、Java对象不具备和基本类型一样的生命周期,当使用new创建一个Java对象时,它可以存活于作用域之外,在下面的这个例子中引用s在作用域终点,即最后的花括号处已经消失,但s指向的String对象仍然继续占据内存空间,这个String对象的生命周期并没有结束。
{ String s = new String(“a string”); }
构造器
构造器是以类名命名的方法,没有任何返回值。
1、构造器是一种特殊的方法,没有返回值,但与void不同,构造器不返回任何东西,new表达式确实返回了对象的引用,但构造器本身没有任何返回值。
2、构造器是隐式的静态方法,但构造器不能被继承,而静态方法可以被继承。
3、如果没有定义构造器,则Java会生成默认的不带任何参数的构造器,若已经定义了构造器,则编译器不会帮你自动创建默认构造器。
4、若有几个构造器,则只能在构造器内调用另一个构造器,但不能调用两个构造器,且被调用的构造器要放在最起始处。就像下面所示代码一样。
class Person { private String name; private int age; Person() { } Person(String name) { this.name = name; } Person(String name,int age) { this(name);//在构造器中调用构造器,只能放在最前面 //this(); 构造器中不能调用两个以上构造器 this.age = age; } }
相关文章推荐
- Java反射机制
- Struts2
- Java 中的二维数组
- Spark java.lang.outofmemoryerror gc overhead limit exceeded 与 spark OOM:java heap space 解决方法
- 用javaCOPY文件数据
- log4j详细配置(项目中应用)
- 《Java项目实践》:简单聊天程序
- Struts2处理流程分析
- JAVA设计模式--观察者模式
- 如何使用 Java 中的数组
- Java函数的重载
- spring+struct+hibernate
- Java函数的定义
- JavaSE入门学习50:多线程编程(一)
- java线程池基础知识
- struts 笔记(王勇)
- hibernate笔记
- SpringMvc Eclipse搭建web项目
- myEclipse中的web项目直接引入到eclipse中运行
- Struts2基本配置