Java学习笔记-构造器初始化
来源:互联网 发布:奥比岛刷奥币软件 编辑:程序博客网 时间:2024/06/06 00:33
初始化:指给数据对象或变量赋初值。但是不要忘记定义一个变量时,会自动进行初始化的动作,给变量赋一个初始值。
1.初始化的顺序:
在类内部,变量定义的先后顺序决定了初始化的顺序。即使变量定义散布于方法定义之间,仍会在所有方法(包括构造方法)调用之前对所有的变量进行初始化。如果一个引用在构造方法前调一次,在构造方法中又调一次的话,第一次调用的对象将被丢弃,作为垃圾回收。
例如:
public class StuInfoGui { public JFrame jFrame = new JFrame(); static String[] columns = {"学号","姓名","性别","院系","分数","籍贯","联系方式","邮件地址"}; public static int rowNum = -1; public String[][] infoArr; public JTable infoJTable ; public JScrollPane jScrollPane; public static final int OPT_TYPE_INSERT = 1; public static final int OPT_TYPE_UPDATE = 2; public StuInfoGui(){ jFrame = new JFrame(); jFrame.setLocation(100, 100); jFrame.setSize(800, 400); jFrame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); } public void initJFrame(){ infoArr = ListChangetoArrary.listChangeToArr(); infoJTable = initShowInfo(infoArr); jScrollPane = new JScrollPane(infoJTable); jFrame.add(jScrollPane); jFrame.add(initButtonJPanel(), BorderLayout.NORTH); jFrame.setVisible(true); } } public static void main(String[] args) { StuInfoGui stuInfoGui = new StuInfoGui(); stuInfoGui.initJFrame(); }}
StuInfoGui stuInfoGui = new StuInfoGui();
初始化stuIndoGui时,会先初始化一遍jFrame,再调用构造方法时再初始化一遍jFrame
2.静态变量和静态方法初始化:
静态变量:
上面代码中,public static int rowNum = -1; rowNum为静态变量。用static标识一个变量或者方法是静态的。
静态变量不管被初始化多少次都只占一份存储空间,即不管创建多少个对象,这些对象都共同访问同一个静态变量的存储空间。分配一次存储空间,供所有对象访问。静态变量的值可以被改变。
例如:
StuInfoGui stuInfoGui1= new StuInfoGui();
StuInfoGui stuInfoGui2= new StuInfoGui();
stuInfoGui1和stuInfoGui2所初始化的rowNum的存储空间是同一个。
静态方法:
静态方法与静态变量一样,都是类的内部实现,属于类定义的一部分。
静态方法可以被类名直接调用,非static静态方法只能被对象调用不能被类直接调用。因此,静态方法在类被调用时就初始化分配内存空间了,而非静态方法只有在被类的对象调用时才会被初始化。
当方法和对象无关时,可以定义为静态方法,供所有对象使用。
- Java学习笔记-构造器初始化
- java学习笔记<七>初始化块与构造器
- JAVA学习笔记之构造函数和初始化块
- Java 构造器初始化
- java 构造器学习笔记
- Java学习笔记-初始化
- C++ 构造函数初始化列表学习笔记
- java中的构造器初始化
- java中的构造器初始化
- 学习笔记:数组成员初始化于构造函数初始化列表
- C++学习笔记17,构造函数体内初始化数据成员与构造函数初始化器的区别(一)
- java学习笔记-String,构造器
- java学习笔记----初始化顺序
- Java学习笔记【对象构造】
- Java学习笔记----构造方法
- Java 构造方法学习笔记
- 【C++ Primer学习笔记】构造函数初始化与赋值
- C++使用构造函数初始化结构对象学习笔记
- Shell学习笔记
- 求数组第K大的数
- Android控制文字水平间距android:letterSpacing
- sed/grep提取IP地址
- freopen 函数
- Java学习笔记-构造器初始化
- GIT 使用教程-廖雪峰
- Web APP开发技巧总结
- HDU
- 【POI2014】Rally(拓扑序+线段树)
- 计算机网络(三) --- 浅析TCP/IP分层模型与通信示例
- spring定时任务
- leetcode Symmetric Tree
- 2008年北大信科研究生复试 机考真题(一)--大数据十进制转换