黑马程序员技术交流社区
标题:
匿名对象可以调用对象的属性吗?
[打印本页]
作者:
漠然~回首℃
时间:
2014-3-2 21:56
标题:
匿名对象可以调用对象的属性吗?
匿名对象可不可以调用对象的属性?原因是什么举例说明一下?谢谢大虾
作者:
Amorvos
时间:
2014-3-2 22:14
匿名对象,你是说直接创建一个接口的实例,还是说,匿名内部类对象啊?
接口里只有静态常量,你这个对象属性哪来的?
匿名内部类也没有所谓的对象属性呀。
PS:
我不是大神,这是我想的答案
作者:
榨菜
时间:
2014-3-2 22:20
我觉得匿名对象就是一个类的子类, 既然继承了父类,那就可以调用父类中的属性。
作者:
榨菜
时间:
2014-3-2 22:26
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
String str = new Demo(){ //创建Demo的子类 匿名类
//子类中复写toString
public String toString(){
i = 6; //继承Demo中的i进行赋值
return "我是匿名对象:"+i;
}
}.toString();
System.out.println(str);
}
}
class Demo{
public int i; //对象的属性
}
复制代码
作者:
天凌蓝
时间:
2014-3-2 22:32
父类创建的子类匿名对象,可以调用子类继承覆写父类方法,但不能调用子类本身特有的方法
作者:
遗忘的青春年华
时间:
2014-3-2 23:51
String str = new Demo(){ //创建Demo的子类 匿名类 是父类引用指向子类对象,
new Demo(){
复写父类方法
} //而此时整个new Demo(){}相当于一个对象,是可以调用父类的和子类的共有方法的,而子类的特有方法必须要子类向下转型才可以调用
比如: Demo d = (Demo) str;
d.show();//show()是子类特有的方法,
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2