java abstract是什么意思 Java中abstract的意思以及用法
大家好,如果您还对java abstract是什么意思不太了解,没有关系,今天就由本站为大家分享java abstract是什么意思的知识,包括Java中abstract的意思以及用法的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!
java中抽象的方法(abstract)有什么作用
抽象类、就是一个用abstract修饰的类,在这个类中、你可以定义一些不需要具体实现的方法、也就是没有方法体的方法、这些方法叫做抽象方法、当一个类要继承这个抽象类时、就必须要实现这些抽象方法、。当你在做一个比较复杂的项目时、一些简单的方法就可以马上写出来、但一些复杂的方法、在不同的类中需要不同的实现、那么这个时候就需要用到抽象类的。。。
Java中的abstract方法和abstract类的问题
/*
抽象类:
目前存在的问题:
1.动物类的run方法描述的不正确。
2.没有强制要子类一定要重写run方法。
抽象类的应用场景:
我们在描述一类事物的时候,发现该种事物确实存在着某种行为,
但是这种行为目前是不具体的,那么我们可以抽取这种行为的声明,但是
不去实现该种行为,这时候这种行为我们称作为抽象的行为,我们就需要使用抽象类。
抽象类的好处:强制要求子类一定要实现指定的方法。
抽象类要注意的细节:
1.如果一个函数没有方法体,那么该函数必须要使用abstract修饰,把该函数修饰成抽象的函数。。
2.如果一个类出现了抽象的函数,那么该类也必须使用abstract修饰。
3.如果一个非抽象类继承了抽象类,那么必须要把抽象类的所有抽象方法全部实现。
4.抽象类可以存在非抽象方法,也可以存在抽象的方法.
5.抽象类可以不存在抽象方法的。
5.抽象类是不能创建对象的。
疑问:为什么抽象类不能创建对象呢?
因为抽象类是存在抽象方法的,如果能让抽象类创建对象的话,那么使用抽象的对象
调用抽象方法是没有任何意义的。
6.抽象类是存在构造函数的,其构造函数是提供给子类创建对象的时候初始化父类的属性的。
*/
//动物类--->抽象类
abstractclassAnimal{
Stringname;
Stringcolor;
publicAnimal(Stringname,Stringcolor){
this.name=name;
this.color=color;
}
//非抽象的方法
publicvoideat(){
System.out.println(name+"吃粮食");
}
//移动...
publicabstractvoidrun();
}
//狗是属于动物中一种
classDogextendsAnimal{
publicDog(Stringname,Stringcolor){
super(name,color);
}
publicvoidrun(){
System.out.println(name+"四条腿跑得很快...");
}
}
//鱼是属于动物中一种
classFishextendsAnimal{
publicFish(Stringname,Stringcolor){
super(name,color);
}
publicvoidrun(){
System.out.println(name+"摇摇尾巴游啊游!");
}
}
classDemo3{
publicstaticvoidmain(String[]args)
{
/*
Dogd=newDog("牧羊犬","棕色");
d.run();
//创建一个鱼对象
Fishf=newFish("锦鲤","金黄色");
f.run();
*/
Animala=newAnimal();
}
}
abstract是什么意思
abstract,英文单词,形容词、名词、动词,作形容词时意思为“纯理论的;抽象的;抽象派的”,作名词意思为“摘要;抽象;抽象的概念;抽象派艺术作品”,作动词时意思为“摘要;提取;抽象化;退出;转移;使心不在焉”。
短语搭配
abstract system[自]抽象系统;抽象体系;翻译
abstract thinking抽象思维;抽象思考;性思考
abstract painting抽象画;抽象绘画;抽象油画;抽象画酒店装饰画
abstract good抽象产品
English Abstract英文摘要;英文文摘;英语摘要;中文摘要
abstract space抽象空间;抽象的空间;详细
abstract science理论科学
Abstract unit[数]抽象单位
abstract invoice简要发票;[会计]简式发票;摘要发票;简要
扩展资料
抽象类
当一个类被声明为abstract时,这个类被称为抽象类。所谓的抽象类就是没有实例对象的类。
java中定义抽象类是出于相同考虑。抽象类是他的所有子类的公共属性的集合,所以抽象类的一大优点就是充分利用公共属性来提高开发和维护程序的效率。
抽象方法
作为修饰符,abstract声明了一种没有具体对象的,出于组织概念的层次关系需要而存在的抽象类;作为类方法修饰符,abstract则声明了一种仅有方法头,而没有具体的方法体和操作实现的抽象方法。
如:
abstract Boolean goVacation(int days);
可见,abstract方法只有方法头得声明,而用一个分号来代替方法体得定义;至于方法体得具体实现,那是由当前类的不同子类在他们各自的类定义中完成的。
参考资料来源:百度百科-abstract(英文单词)
参考资料来源:百度百科-abstract(抽象修饰符)
Java中abstract的意思以及用法
abstract(抽象)修饰符,可以修饰类和方法
1,abstract修饰类,会使这个类成为一个抽象类,这个类将不能生成对象实例,但可以做为对象变量声明的类型,也就是编译时类型,抽象类就像当于一类的半成品,需要子类继承并覆盖其中的抽象方法。
2,abstract修饰方法,会使这个方法变成抽象方法,也就是只有声明(定义)而没有实现,实现部分以";"代替。需要子类继承实现(覆盖)。
注意:有抽象方法的类一定是抽象类。但是抽象类中不一定都是抽象方法,也可以全是具体方法。
abstract修饰符在修饰类时必须放在类名前。
abstract修饰方法就是要求其子类覆盖(实现)这个方法。调用时可以以多态方式调用子类覆盖(实现)后的方法,也就是说抽象方法必须在其子类中实现,除非子类本身也是抽象类。
注意:父类是抽象类,其中有抽象方法,那么子类继承父类,并把父类中的所有抽象方法都实现(覆盖)了,子类才有创建对象的实例的能力,否则子类也必须是抽象类。抽象类中可以有构造方法,是子类在构造子类对象时需要调用的父类(抽象类)的构造方法。
举个简单的例子下面有一个抽象类
abstract class E{
public abstract void show();//public abstract可以省略
}
然后其它类如果继承它通常为了实现它里面的方法
class F extends E{
void show(){
//写具体实现的代码
}
}
最后再主方法里面定义一个父类引用指向子类对象,就会发生多态现象,比如
E e=new F();
e.show();
实际调用了子类里面的show()方法
好了,关于java abstract是什么意思和Java中abstract的意思以及用法的问题到这里结束啦,希望可以解决您的问题哈!