抽象类,实例化 ,谁能解释下这是什么东西
答案:6 悬赏:0 手机版
解决时间 2021-12-23 04:55
- 提问者网友:星軌
- 2021-12-22 09:09
abstract class Test{ abstract String getname();}Test test = new Test(){ String getname(){ return "name"; }};
最佳答案
- 五星知识达人网友:蕴藏春秋
- 2021-12-22 09:31
首先,抽象类不能直接new 对象(但是可以父类引用指向子类对象)
你的例子中,abstract class Test{
abstract String getname();
}
是一个抽象类,所以不能通过Test test=new Test()来new对象
但是,Test test = new Test(){
String getname(){
return "name";
}
}中的new Test(){
String getname(){
return "name";
}
},实际上相当于是一个实现了Test抽象类的对象(实现了抽象方法getname()),所以可以用new了
只不过,这里是一个匿名类罢了
不知道这么解释,你理解么???
还有不理解的话,可以追问
你的例子中,abstract class Test{
abstract String getname();
}
是一个抽象类,所以不能通过Test test=new Test()来new对象
但是,Test test = new Test(){
String getname(){
return "name";
}
}中的new Test(){
String getname(){
return "name";
}
},实际上相当于是一个实现了Test抽象类的对象(实现了抽象方法getname()),所以可以用new了
只不过,这里是一个匿名类罢了
不知道这么解释,你理解么???
还有不理解的话,可以追问
全部回答
- 1楼网友:深街酒徒
- 2021-12-22 14:02
{
String getname(){
return "name";
}
这是一个匿名类(可以说是没有名的类)覆写了Test中的抽象方法。
- 2楼网友:蕴藏春秋
- 2021-12-22 13:24
对。抽象类是不能被实例化的。抽象类可以很方便的解决很多问题。通常用于多态。决个简单例子吧,比如我们有一个eat(food food)方法。food是抽象类。beef、meat类继承并实现了这个抽象类。可以写 food beef=new beef();food meat=new meat();
这是我们不管他是beef还是meat都可以直接调用eat(beef)和eat(meat),这样省去了很多麻烦
- 3楼网友:神的生死簿
- 2021-12-22 13:01
定义类的时候前面abstract修饰的为抽象类,抽象类中所有的方法都必须得是抽象的方法,想实例化抽象类则必须重写其中的抽象方法:
abstract class Test{
abstract String getname();
}
上面的代码为定义了抽象类Test
Test test = new Test(){
String getname(){
return "name";
}
};
上面的代码为实例化抽象类的一个对象,即new了一个该类的对象test,因为调用了该类的对象,所以重写类类中的方法,即
String getname(){
return "name";
}
- 4楼网友:慢性怪人
- 2021-12-22 11:25
抽象类:不允许被实例化的类,简单理解为不能直接进行new操作。
abstract class Test{
abstract String getname();
}
测试的抽象类,比如药物的测试,饮料的测试,肉类的测试,那么他们都有一个共同的方法,即:返回测试的名称;这个就可以抽象出来,更具有普遍含义。
之所有不能实例化抽象类,因为它包含抽象方法。
Test test = new Test(){
String getname(){
return "name";
}
};
这个相当于覆写了Test类中的抽象方法,所以此处可以进行实例化
---------------------------------------------------------------------------------
个人拙见,仅供参考!!
- 5楼网友:洎扰庸人
- 2021-12-22 10:03
new Test()后面,是匿名类,可认为实现了抽象类Test的
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯