java_字段初始化的规律、静态方法中访问类的实例成员、查询创建对象的个数
字段初始化规律:
当执行如下代码时
class InitializeBlockClass{ public int field=100;
{ field=200; }
public InitializeBlockClass(int value) {
this.field=value;
}
public InitializeBlockClass(){ }
{ field=150; }
} public class Work {
public static void main(String[] args) {
InitializeBlockClass obj=new InitializeBlockClass();
System.out.println(obj.field);
obj=new InitializeBlockClass(300);
System.out.println(obj.field);
} }
执行结果如下
当执行空构造方法不赋值时,会按照代码的先后顺序依次进行赋值,最后结果为最后赋的值;当执行有参数的构造函数时,会直接赋值为传递的参数。
当代码中存在静态程序初始化块时,会执行在前面的静态初始化块,且只执行一次。
静态方法中访问类的实例成员:
静态方法中没有进行对象的实例化,需要调用时,在静态方法中进行类的实例化就可以了。
public class Work {
public static void main(String[] args) {
shuju.get();
}//end main }//end Work
class shuju{
public int value=100;
public static int value1=120;
public static void get() {
shuju s=new shuju();
System.out.println("实例对象:"+s.value);
System.out.println("静态对象:"+value1); }//end get
}//end shuju
查询创建对象的个数:
在类中创建一个静态变量num,每执行一次构造函数就进行num++的操作,最后num即为创建对象的数量。
public class Work {
public static void main(String[] args) {
jishu j_1=new jishu();
jishu j_2=new jishu();
jishu j_3=new jishu();
jishu j_4=new jishu();
jishu j_5=new jishu();
j_1.getnum();
}
}
class jishu{
static int num=0;
jishu() {
num++;
}
public void getnum() {
System.out.println("创建类的数量为:"+num);
}
}
java_字段初始化的规律、静态方法中访问类的实例成员、查询创建对象的个数的更多相关文章
- 在java的静态方法中访问类的实例成员
直接来看代码: public class Example { int x = 3;//类的实例变量,初始化值为3 static int y = 4;//类的静态变量,初始化值为4 public sta ...
- java如何在静态方法中访问类的实例成员
类的静态方法是不能直接访问实例的成员的,它只能访问同类的静态成员.访问实例的成员的话,可以参考一下这个方法,那就是把静态方法的参数设置为类的实例,这样通过参数传递的方式就可以访问实例的成员了,例子如下 ...
- 静态方法中只允许访问静态数据,那么,如何在静态方法中访问类的实例成员(即没有附加static关键字的字段或方法)?
package test.two; public class jingtaihanshu { int x = 3; static int y = 4; public static void Meth ...
- VC6.0中重载操作符函数无法访问类的私有成员
整理日: 2015年03月18日 在 C++ 中,操作符(运算符)可以被重载以改写其实际操作.同时我们可以定义一个函数为类的朋友函数(friend function)以便使得这个函数能够访问类的私有成 ...
- Objective-C 类,实例成员,静态变量,对象方法,类方法(静态方法),对象,
Objective-C 类,实例成员,静态变量,对象方法,类方法(静态方法),对象, 一.类 在ios中,类的声明和实现时分离的,也就是说不能写在同一个文件中,声明放在 .h文件中,实现放在 .m 文 ...
- python中的类和实例
今天花了两个多小时后搜索相关博客看了看python中有关类和实例的介绍,差不多大概明白了. python中的类和c++中的类是一样的,不同之处就是c++的类,如果含有成员变量,并且成员变量发生变化后, ...
- C#箴言之用属性来访问类的私有成员
在程序中,难免要访问某个对象的私有成员.那么以前实现这类功能的方法有两种,第一种方法最简单,就是把成员访问符从“private”改为“public”即可:而另一个就是提供公有的成员访问函数来进行访问. ...
- Delphi 跨单元进入(访问)类的私有成员,protected ,private部分
http://blog.sina.com.cn/s/blog_5f8861b60102v1nl.html Delphi 跨单元进入(访问)类的私有成员,protected ,private部分 (20 ...
- Android内核sysfs中switch类使用实例
Android内核sysfs中switch类使用实例 最终在这个周末,能够干点自己想要干的事了. 由我这个二流的内核驱动开发人员来解析一下sysfs中的switch类.先猜測一下来历,在普通的嵌入式L ...
随机推荐
- 【Linux】根目录命名的意义
1./bin :获得最小的系统可操作性所需要的命令2./boot :内核和加载内核所需的文件3./dev :终端.磁盘.调制解调器等的设备项4./etc :关键的启动文件和配置文件5./home :用 ...
- vue-quill-editor 封装成组件;图片文件流上传;同一页面多个编辑器样式异常解决办法
使用方法: 引入并注册组件,然后直接使用: @getcode是同步获取编辑器内容的::contentDefault是编辑器的默认内容: 注意:如果同一个页面多个编辑器,参数id不能相同,否则只有第一个 ...
- ssh 出错 Permission denied (publickey,password).
将客户端的~/.ssh/know_hosts 文件删掉试试 ssh debug信息 ssh -vvv xxx@192.168.1.111
- qt 中lineEdit->setText()输出double
在qt中需要将获取到的double 值在ui界面上显示出来,便于观察.但是lineEdit控件的setText()要求的参数是string. 所以我们先要进行转化,将double 转化为string. ...
- Python基础:12函数细节
一:返回值 当没有显式地返回元素时,Python 会返回一个None.如果函数返回多个对象,python 把他们聚集起来并以一个元组返回. 二:创建函数 1:强烈推荐,在函数体之前,编写函数的文档字符 ...
- MapReduce数据流-概述
- 从HelloWorld看Knative Serving代码实现
摘要: Knative Serving以Kubernetes和Istio为基础,支持无服务器应用程序和函数的部署并提供服务.我们从部署一个HelloWorld示例入手来分析Knative Servin ...
- Eclipse(Maven) web项目更改项目名称
1. 右键工程:Refactor->Rename,更改项目名称: 2. 修改项目目录下:.project文件 <?xml version="1.0" encoding= ...
- 如何把thinkphp 的url改为.html
ThinkPHP支持伪静态URL设置,可以通过设置URL_HTML_SUFFIX参数随意在URL的最后增加你想要的静态后缀,而不会影响当前操作的正常执行.例如,我们设置'URL_HTML_SUFFIX ...
- SuperSocket性能数据采集的应用程序接口的改动
性能数据采集的应用程序接口作了修改,两个虚方法已经被更改: protected virtual void UpdateServerSummary(ServerSummary serverSummary ...