java中abstract怎么使用啊,说的详细点。举几个有代表的例子
发布网友
发布时间:2022-05-12 12:20
我来回答
共5个回答
热心网友
时间:2023-10-09 01:36
使用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方法和abstract类的问题:
当知道一个类的子类将不同的实现某个方法时,把该类声明为抽象类很有用,可以共用相同的父类方法,不必再定义。
抽象类和抽象方法的关系:含有抽象方法的类一定是抽象类,抽象类里不一定含有抽象方法。
抽象类存在的意义是用来被继承的。一个类继承了一个抽象类,必须实现抽象类里面所有的抽象方法,否则,此类也是抽象类。
1:用abstract修饰的类表示抽象类,抽象类位于继承树的抽象层,抽象类不能被实例化。
2:用abstract修饰的方法表示抽象方法,抽象方法没有方法体。抽象方法用来描述系统具有什么功能,但不提供具体的实现。
abstract 的规则:
1:抽象类可以没有抽象方法,但是有抽象方法的类必须定义为抽象类,如果一个子类继承一个抽象类,子类没有实现父类的所有抽象方法,那么子类也要定义为抽象类,否则的话编译会出错的。
2:抽象类没有构造方法,也没有抽象静态方法。但是可以有非抽象的构造方法。
3:抽象类不能被实例化,但是可以创建一个引用变量,类型是一个抽象类,并让它引用非抽象类的子类的一个实例。
4:不能用final 修饰符修饰。
参考资料:
百度百科--abstract
热心网友
时间:2023-10-09 01:37
abstract class E{
public abstract void show();//public abstract 可以省略
}
然后其它类如果继承它通常为了实现它里面的方法
class F extends E{
void show(){
//写具体实现的代码
}
}
最后再主方法里面定义一个父类引用指向子类对象,就会发生多态现象,比如
E e=new F();
e.show();
扩展资料:
abstract修饰符在修饰类时必须放在类名前。
abstract修饰方法就是要求其子类覆盖(实现)这个方法。调用时可以以多态方式调用子类覆盖(实现)后的方法,也就是说抽象方法必须在其子类中实现,除非子类本身也是抽象类。
热心网友
时间:2023-10-09 01:37
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()方法
热心网友
时间:2023-10-09 01:38
举一个我们前两天刚编过的一个编程题:
abstract class 图形
{
public abstrcat double 求面积();
}
class circle extends 图形
{
double r;
circle (double r)
{
this.r=r;
}
public double 求面积()
{
return (3.14*r*r);
}
}
class 梯形 extends 图形
{
double a,b,h;
梯形(double a,b,h;)
{
this.a=a;this.b=b;this.h=h;
}
public double 求面积()
{
return((1/2.0)*(a+b)*h);
}
}
public static void main(string args[])
{
图形 tuxing;
tuxing=new 梯形();
tuxing=new cirlcle();
.......
abstract类不能用 new创建对象,必须产生子类,由子类产生对象,它只允许声明,而不允许实现,如果一个类是一个abatract类的子类,它必须实现父类的abstract方法
热心网友
时间:2023-10-09 01:39
补充一下:abstract class 允许拥有实例方法和实例属性
java中abstract怎么使用啊,说的详细点。举几个有代表的例子
1、abstract修饰类,会使这个类成为一个抽象类,这个类将不能生成对象实例,但可以做为对象变量声明的类型,也就是编译时类型,抽象类就像当于一类的半成品,需要子类继承并覆盖其中的抽象方法。2、abstract修饰方法,会使这个方法变成抽象方法,也就是只有声明(定义)而没有实现,实现部分以";"代替。...
请从JAVA课本知识角度回答。小弟是要考试用的,老师只给了这个材料!希望...
1.构造函数的命名必须和类名完全相同;在java中普通函数可以和构造函数同名,但是必须带有返回值。 2.构造函数的功能主要用于在类的对象创建时定义初始化的状态.它没有返回值,也不能用void来修饰.这就保证了它不仅什么也不用自动返回,而且根本不能有任何选择.而其他方法都有返回值.即使是void返回值,尽管方法体本...
...中在同一平面的原子最少,最多有几个,请说详细点,谢谢,顺便请_百度...
1)乙烯含有碳碳双键,该键不可转动,所以所有氢原子共平面;最少6个,最多7个。图中有红点的一定在同一平面,所以至少6个,甲基(结构类似于甲烷,正四面体结构)中的至多一个氢原子也可在此平面。2)双键的两个碳原子采取sp2杂化,所以空间结构为平面型;甲基中的碳原子采取sp3杂化,所以空间结构...
请问各位高手们,JAVA中有没有指针啊,多谢多谢,还有,connection和 command...
java中连接数据库要用到ADO的Command对象和connection对象,首先建立好数据库,Command对象提供了Command对象属性用于数据库连接,要使用Command对象,必须有一个可用的Connection对象,使用Command对象的步骤包括:1.创建数据库连接 创建一个Connection对象。2.定义执行的SQL语句。一般情况下,我们会将要执行的SQL...
利用API函数模拟鼠标点击.有几个菜鸟级问题.
2。mouse_event MOUSEEVENTF_MOVE, 0 , 0 , 0 , 0前面两个别0,0是代表的坐标x , y,如果都设置为零的话,则每次模拟事件的位置是鼠标的当前位置,x , y 在没有使用MOUSEEVENTF_ABSOLUTE标志时是相对于鼠标当前位置的坐标.如果使用绝对坐标,那么x,y应该是相对于屏幕的坐标.3。timer当有多个时候...
软件设计模式主要有哪几种
2、抽象工厂模式抽象工厂模式是提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。区别于工厂方法模式的地方,工厂方法模式是创建一个工厂,可以实现多种对象;而抽象工厂模式是提供一个抽象工厂接口,里面定义多种工厂,每个工厂可以生产多种对象。 3、单例模式单例模式能保证一个类仅有一个实例,并...
...我好笨·怎么 都不会弄。麻烦各位详细点好么?谢啦。
推荐使用Dreamweaver6.0中文版,这个软件最大的特点就是“所见即所得”,也即是制作过程中看到的,便是到时发布到网络上的。 二、教程 花点时间,找个比较通俗易懂的教程看一看是很有必要的。每个网页的组成,不外是文字、表格、图、动画还有就是背景音乐等几个大的元素,搞清楚如何将这些元素摆放进去,你也就算懂得...
doubt与suspect的区别,详细点,最好能举几个例子
你好,doubt 与 suspect 作动词用 , 都有“怀疑”的意思,但实际上它们的用法还是有区别的。一 . 如果后面接名词、代词或名词性词组时,两者基本上可通用。例如:I doubt/suspect the truth of her statement. 我对她那番话的真实性表示怀疑。He says he can cure me, but I still doubt/...
如何写计算机专业的毕业论文???
一般来说分成两部分就可以了,一部分是对于前端的业务流程,另一部分就是后台服务器的业务流程,可以使用一些软件来绘画流程图,想图个方便可以直接使用word自带的图形进行编写,也不至于难看,就比较简约.想做的好看点的话个人推荐使用xmind,非常简单,可以快速做出美观的流程图.如果没有什么思路,那前端就按照着使用者的...
计算机类论文怎么写
1.真的可以学的到东西,对于大部分想找开发岗位的同学的就业来说也是有帮助了。2.文章比较好写,逻辑非常明确,不用担心凑不到字数。说了这么多,下面就来讲如何写一篇关于计算机的论文(工程性的设计)。首先是选题,一般老师都会提供若干个选题给你选,其中必然包括几个“XX系统的设计与开发”,这样的选题就是符合我们...