Java实例变量在两个语句中声明和初始化
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Java实例变量在两个语句中声明和初始化,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1623字,纯文字阅读大概需要3分钟。
内容图文
嗨,我在java中初始化有问题,下面的代码给我编译错误:expected instanceInt = 100;但我已经宣布了.如果这些东西与堆栈和堆的东西有关,请用简单的术语解释,我是java的新手,我对这些领域没有高级知识
public class Init {
int instanceInt;
instanceInt = 100;
public static void main(String[] args) {
int localInt;
u = 9000;
}
}
解决方法:
你不能在班级中间使用语句.它必须与您的声明在一个区块或同一行.
做你想做的通常的方法是:
>声明期间的初始化
public class MyClass{
private int i = 0;
}
通常,如果要为字段定义默认值,则通常是个好主意.
>构造函数块中的初始化
public class MyClass{
private int i;
public MyClass(){
this.i = 0;
}
}
如果要在字段初始化期间使用某些逻辑(if / loops),可以使用此块.它的问题是你的构造函数会相互调用一个,或者它们都具有基本相同的内容.
在你的情况下,我认为这是最好的方式.
>方法块中的初始化
public class MyClass{
private int i;
public void setI(int i){
this.i = i;
}
}
它不是真正的初始化,但您可以随时设置您的值.
>实例初始化程序块中的初始化
public class MyClass{
private int i;
{
i = 0;
}
}
当构造函数不够时使用这种方式(请参阅构造函数块的注释),但通常开发人员倾向于避免使用此形式.
资源:
在同一主题上:
> Use of Initializers vs Constructors in Java
> How is an instance initializer different from a constructor?
奖金:
这段代码是什么?
public class MyClass {
public MyClass() {
System.out.println("1 - Constructor with no parameters");
}
{
System.out.println("2 - Initializer block");
}
public MyClass(int i) {
this();
System.out.println("3 - Constructor with parameters");
}
static {
System.out.println("4 - Static initalizer block");
}
public static void main(String... args) {
System.out.println("5 - Main method");
new MyClass(0);
}
}
内容总结
以上是互联网集市为您收集整理的Java实例变量在两个语句中声明和初始化全部内容,希望文章能够帮你解决Java实例变量在两个语句中声明和初始化所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。