package com.sz;
class Persion{
String name;
int age;
public void tell(){
System.out.println("姓名:"+name+",年龄"+age);
}
}
public class Tell {
@SuppressWarnings("null")
public static void main(String[] args) {
Persion per=null;
per.name="张三";
per.age=30;
per.tell();
}
}
各位前辈,这是我的代码,为什么没有报错,但是显示结果Exception in thread "main" java.lang.NullPointerException
at com.sz.Tell.main(Tell.java:14)
在线等
Persion per=null;没有初始化
Persion per=new Person();
因为声明的时候Persion per=null;,所以后面的per.name="张三";per.age=30;per.tell();都会报空指针错误。
package com.sz;
class Persion{
String name;
int age;
public Persion(String name,int age) {
// TODO Auto-generated constructor stub
this.age=age;
this.name=name;
}
public void tell(){
System.out.println("姓名:"+name+",年龄"+age);
}
}
public class Tell {
public static void main(String[] args) {
Persion per=new Persion();
per.name="张三";
per.age=30;
per.tell();
}
}
我把代码改成这样了,但是为什么还是要求我再创建一个
public Persion() {
// TODO Auto-generated constructor stub
}
我的代码里本身不是已经有
public Persion(String name,int age) {
// TODO Auto-generated constructor stub
this.age=age;
this.name=name;了吗
请恕我愚钝