博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
动手动脑
阅读量:5060 次
发布时间:2019-06-12

本文共 744 字,大约阅读时间需要 2 分钟。

以下代码为何无法通过编译?哪儿出错了?

两个构造方法一个有参,一个无参。

执行以下代码,出现的结果是什么?

结果:100,300;

java字段初始化规律:

当类中有初始化块时,如果调用无参数的构造函数,则按照程序的顺序逐一调用函数,后边的函数可替换前面的。若调用的是有参的构造函数,则输出的是赋的初值。

请运行TestStaticInitializeBlock.java示例,观察输出结果,总结出“静态初始化块的执行顺序”。

静态初始化块只执行一次。创建子类型的对象时,也会导致父类型的静态初始化块的执行

静态方法中只允许访问静态数据,那么,如何在静态方法中访问类的实例成员(即没有附加static关键字的字段或方法)?

public class Jingtai {

public  int num;

 static void change(Jingtai a)

 {

 a.num=10;

 }

public static void main(String[] args)

{

Jingtai b=new Jingtai();

b.num=100;

b.change(b);

System.out.println(b.num);

 

}

 

}

结果:5

一般静态方法是不能访问类的非静态成员函数以及非静态的变量,因为类里边的静态成员属于类,不用声明类的对象时,静态成员就已经存在了,而非静态成员必须在声明类的对象后才可以分配内存空间,所以类的对象不可以访问类中静态成员。如果先要在静态成原函数中调用非静态中的变量或方法,可以在静态成员函数中声明一个类的对象,然后再调用类的非静态成员或方法。

 

转载于:https://www.cnblogs.com/lxdjieshang/p/7699030.html

你可能感兴趣的文章
学习python:day1
查看>>
css3动画属性
查看>>
第九次团队作业-测试报告与用户使用手册
查看>>
Equal Sides Of An Array
查看>>
CentOS笔记-用户和用户组管理
查看>>
Mongodb 基本命令
查看>>
Qt中QTableView中加入Check列实现
查看>>
“富豪相亲大会”究竟迷失了什么?
查看>>
控制文件的备份与恢复
查看>>
返回代码hdu 2054 A==B?
查看>>
Flink独立集群1
查看>>
iOS 8 地图
查看>>
20165235 第八周课下补做
查看>>
[leetcode] 1. Two Sum
查看>>
iOS 日常工作之常用宏定义大全
查看>>
PHP的SQL注入技术实现以及预防措施
查看>>
MVC Razor
查看>>
软件目录结构规范
查看>>
Windbg调试Sql Server 进程
查看>>
linux调度器系列
查看>>