如何理解java中的抽象类,java中抽象类的概念
如何解决写爬虫IP受阻的问题?立即使用。
从具体事物抽出、概括出它们共同的方面、本质属性与关系等,而将个别的、非本质的方面、属性与关系舍弃,这种思维过程,称为抽象。
抽象类:
不能被new方法实例化的类,即没有具体实例对象的类,只能从抽象类派生出新的子类,然后从子类中创建对象;
抽象方法:
抽象方法是用抽象修饰的方法。这个方法只声明返回的数据类型、方法名和必需的参数,没有方法体。也就是说,一个抽象方法只需要声明。当一个方法是抽象的时候,意味着它必须被子类的方法重写,否则子类的方法仍然是抽象的。
抽象类的特点:
答:抽象类和抽象方法必须用抽象关键字修饰;
b:抽象类中不一定有抽象方法,但有抽象方法的类必须定义为抽象类;
c:抽象类不能直接实例化;(可以通过子类(覆盖方法后的子类)的多态来实例化);
它不是具体的;
抽象类有构造方法,用于访问父类数据的子类初始化;
d:抽象类的子类;
如果不想覆盖抽象方法,子类必须是抽象类;
要成为一个具体的类,所有的抽象方法都必须重写;
下面给出一个抽象类的实例:
公共类AbstractDemo {
公共静态void main(String[] args) {
//Tree t=新树();//抽象子类不能实例化;错误!
Grass g=新草();//非抽象类的子类的实例化
g . grow();
system . out . println(-);
植物p=新草();//多态方式
p . grow();
}
}
抽象类植物{
公共抽象void grow();
}
/*
* 1.子类是一个抽象类;
*/
抽象类树扩展植物{
树(){
system . out . println( tree );
}
}
/*
* 2.如果子类不是抽象类,所有抽象方法都必须重写;
*/
级草展植物{
草(){
system . out . println( grass );
}
公共void grow(){
System.out.println(种草);
}
}抽象类的成员的特点:
答:成员变量
它可以是变量,也可以是常数;
b:施工方法
子类访问父类数据的初始化;
c:成员方法
它可以是抽象的,也可以是非抽象的;
抽象类成员方法特性:
答:抽象方法
子类需要做什么;
b:非抽象方法
子类继承提高代码可重用性;
下面给出一个抽象类的成员的实例:
公共类抽象成员{
公共静态void main(String[] args){
phone p=new Vivo();//这里是多态性;(用于实例化抽象类)
p.height=1460//1600 - 1460
system . out . println(p . height);
system . out . println(p . width);
system . out . println(-);
p . call();//vivo通话
p . method();//活体法
}
}
抽象类Phone{
public int height=1600
public final int width=960
公共电话(){}
公共电话(字符串名称,整数){}
/*成员方法*/
公共抽象void调用();//抽象成员方法;
Public void method(){ //非抽象成员方法;
System.out.println(电话方法);
}
}
//非抽象子类,重写抽象父类的抽象方法:
Vivo类扩展电话{
公共void调用(){
system . out . println( vivo call );
}
公共void方法(){
System.out.println(vivo方法);
}
}以上是如何理解java中抽象的细节。更多请关注我们的其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。