黑马程序员技术交流社区
标题:
谁来告诉我下面JAVA中的匿名对象调用结果的解释啊?
[打印本页]
作者:
翻滚吧!大牛!
时间:
2016-5-17 23:26
标题:
谁来告诉我下面JAVA中的匿名对象调用结果的解释啊?
/*
* 学生:
* 属性: 姓名name 年龄age
* 行为:睡觉 sleep
*
* */
public class Student_Test {
public static void main(String[] args) {
new Student().setName("momo");
new Student().setAge(18);
System.out.println(new Student().getName()+"..."+new Student().getAge());
new Student().sleep();
}
}
class Student {
private String name; //封装姓名
private int age; //封装年龄
public void setName(String name){
this.name = name;
}
public String getName() {
return name;
}
public void setAge(int age){
this.age = age;
}
public int getAge(){
return age;
}
public static void sleep(){
System.out.println("上课爱睡觉!");
}
}
结果是 null 0 还有上课爱睡觉 ,前面两个答案有点不理解啊?
作者:
我有上将潘凤
时间:
2016-5-17 23:45
每一次new Student()都是创建一个对象的过程,你new了四次,有四个对象,
第一个对象你给他名字,第二对象你给他年龄,
第三个对象你什么都没对他做就输出name,当然结果也是初始值null,
第四个对象你什么都没对他做就输出age,当然结果是初始值0,
作者:
娶个英文名字
时间:
2016-5-18 00:41
new Student().setName("momo");
//相当于Student s = new Student;s.setName("momo");匿名对象返回的是一个对象,所以可以直接去调方法。下面的同上。
new Student().setAge(18);
System.out.println(new Student().getName()+"..."+new Student().getAge());
new Student().sleep();
作者:
scalar
时间:
2016-5-18 12:45
每一个new字就是新建一个对象哦,兄弟。
System.out.println(new Student().getName()+"..."+new Student().getAge());
这句里面新建了两个对象,分别用空值和0给name和age赋值.说以输出null和0
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2