public class Array1
{ int[] a;
public void printt(){
int[] a=new int[]{1,2,3};
for(int x=0;x<a.length;x++)
System.out.println("seconddb create:"+a[x]);
}
public static void main(String[] args)
{
Array1 a2=new Array1();
a2.printt();
System.out.println("OK !!!");
}
}
------------------正确-----的写法-----
public class Array1
{ int[] a;
Array1(){
int[] a=new int[]{1,2,3};
}
public void printt(){
for(int x=0;x<a.length;x++)
System.out.println("seconddb create:"+a[x]);
}
public static void main(String[] args)
{
Array1 a2=new Array1();
a2.printt();
System.out.println("OK !!!");
}
}
--------错误的写法-------------
----------------------------------请问为什么这样写是错误的!
{ int[] a;
public void printt(){
int[] a=new int[]{1,2,3};
for(int x=0;x<a.length;x++)
System.out.println("seconddb create:"+a[x]);
}
public static void main(String[] args)
{
Array1 a2=new Array1();
a2.printt();
System.out.println("OK !!!");
}
}
------------------正确-----的写法-----
public class Array1
{ int[] a;
Array1(){
int[] a=new int[]{1,2,3};
}
public void printt(){
for(int x=0;x<a.length;x++)
System.out.println("seconddb create:"+a[x]);
}
public static void main(String[] args)
{
Array1 a2=new Array1();
a2.printt();
System.out.println("OK !!!");
}
}
--------错误的写法-------------
----------------------------------请问为什么这样写是错误的!
解决方案 »
- 建立数组的问题,求助
- 新手求助,抽象类问题
- Drog and Drop 拖放問題
- 求救:如何找出所有三位数中个、十、百位数的立方和等于该数本身的三位数?
- 怎么取得路径?
- java.sql.SQLException: [Microsoft][ODBC SQL Server Driver]连接占线导致另一个 hstmt
- 至XKP,谢谢!
- 有用java编过树型结构吗(象资源管理那种)
- JAVA能访问WINDOWS注册表吗?有例程吗?
- 请问:用Jdbc-Odbc 访问Access数据库时,SQL查询语句的条件值不能用汉字怎么办?
- 在写代码时怎样知道是否有异常?
- 问一个数,为什么他不是float类型的?
int[] a=new int[]{1,2,3};
}这部分是在构造方法里定义了一个局部变量叫a,这个不是类变量a,所以print方法里的a是空值
是类变量a,
而Array1() {
int[] a = new int[] { 1, 2, 3 };
}里的a是在局部定义的变量a,它的生存周期只在这个方法体里,
两个a并非同一个,所以java.lang.NullPointerException;
{ int[] a;
Array1(){
int[] a=new int[]{1,2,3}; //把这里的int[]去掉
}
public void printt(){
for(int x=0;x <a.length;x++)
System.out.println("seconddb create:"+a[x]);
}
public static void main(String[] args)
{
Array1 a2=new Array1();
a2.printt();
System.out.println("OK !!!");
}
}