近来发现,许多java细小的知识点,由于长时间不使用,就会遗忘,在此做下备忘
一、java抽象类是不可以直接用new的方式实例化的,她的实例化方式有两种:
1、子类继承
2、匿名内部类 例如:
定义抽象类和测试类
package cn.myself;
/**
* 抽象类
* @author cclove
*
*/
public abstract class AbstractTest {
public abstract String getName();
}
package cn.myself;
/**
* 测试类
* @author cclove
*
*/
public class Test {
public static void main(String[] args) {
AbstractTest abstractTest=new AbstractTest(){
@Override
public String getName() {
// TODO Auto-generated method stub
return null;
}
};
}
}
总结:至于为什么抽象类不能直接实例化,我想引用一句话挺合适:
周星驰有一部电影,就是那个去水果店,揪住老板说要一斤水果!老板问他你要什么水果,他说他就要水果!这个水果就是抽象类,你如果能在水果店买到一斤叫水果的水果,那就能实例化一个抽象类。