导航:首页 > 编程语言 > java抽象类的使用

java抽象类的使用

发布时间:2023-01-24 07:56:46

‘壹’ java中什么是抽象类

由abstract修饰的方法叫抽象方法;由abstract修饰的类叫抽象类。抽象的类无法进行实例化,因为他不是具体存在的类,或者说这样的类还不够完善,不能直接使用new关键字调用其构造器生成该类的对象。我们可以使用abstract定义一个抽象类和抽象方法,示例代码如下:
abstract class 类名
{
abstract int 方法名(int x,int y);
}
抽象的方法没有方法体。需要注意的是在抽象类中既可以有抽象方法,也可以有普通方法,注意抽象方法是没有方法体的(也就是方法后面是没有大括号的)。凡是继承这个抽象类的实体子类,都必须要实现这个抽象方法。
我们总结一下抽象类的特点:
(1)抽象类不能被实例化
(2)构造方法 和 static 方法不能是抽象的
(3)父类的抽象方法往往在子类中实现
(4)抽象类可以具有指向子类对象的对象引用

‘贰’ java中抽象类的存在的意义是什么

java中抽象类更利于代码的维护和重用。x0dx0a抽象类往往用来表征对问题领域进行分析、设计中得出的抽象概念,是对一系列看上去不同,但是本质上相同的具体概念的抽象。具体分析如下:x0dx0a1.因为抽象类不能实例化对象,所以必须要有子类来实现它之后才能使用。这样就可以把一些具有相同属性和方法的组件进行抽象,这样更有利于代码和程序的维护。x0dx0a比如本科和研究生可以抽象成学生,他们有相同的属性和方法。这样当你对其中某个类进行修改时会受到父类的限制,这样就会提醒开发人员有些东西不能进行随意修改,这样可以对比较重要的东西进行统一的限制,也算是一种保护,对维护会有很大的帮助。x0dx0a2.当又有一个具有相似的组件产生时,只需要实现该抽象类就可以获得该抽象类的那些属性和方法。x0dx0a比如学校又新产生了专科生这类学生,那么专科生直接继承学生,然后对自己特有的属性和方法进行补充即可。这样对于代码的重用也是很好的体现。x0dx0a所以,Java中抽象类对于代码的维护和重用有很好的帮助,也是Java面向对象的一个重要体现。

‘叁’ JAVA抽象类和接口的区别,使用场景

技术上的区别:

  1. 抽象类可以拥有方法的实现,而接口只能拥有方法的声明。

  2. 一个类只能有一个抽象的基类,但是可以有多个接口。

语义上的区别(这个更有意义,也更难理解)这个与设计相关,合理使用并且区分抽象类和接口能让自己的设计更加灵活和健壮。

抽象类代表一个类实体,只是这类实体无法被实例化。而接口则一般不能够代表实体,只能够代表一个功能,或是一个属性。

举个例子来说,图形类,Shape,能够派生为三角形,正方形等等。Shape就是一个抽象类,代表图形这个实体,但是确实无法实例化。它有一个接口,Drawable,这个接口说明它可以被画出来。从英语上面来说,Shape是名词,Drawable是形容词。这就是语义上面的差别。当然你非要把Drawable声明成抽象类,Shape变成接口,技术上确实没问题,但是这个涉及就很奇怪,难以理解。


如果你觉得不太理解,你可以追问。这两个概念确实有些模糊。


研究设计是好事情,设计意识的好坏很影响自己在软件工程这个领域能够达到的高度。

‘肆’ JAVA抽象类的定义与使用

抽象类是带有Abstract的修饰的类,不管这个类中是否有方法是否被实现(有可能有一个或多个的抽象方法,或者就是没有抽象方法都行),他都是抽象类。
根据这个楼主可以自己创建以下。

‘伍’ java中抽象类的作用是什么

通过继承它实现多态,后期绑定,可以为将来要实现的东西做好接口,实现重用性,
例如:
abstract class A {
public abstract void doSomething();
}

class B extends A {
public void doSomething() {
System.out.println("do B");
}
}

class C extends A {
public void doSomething() {
System.out.println("do C");
}
}

public class Test {
public static void main(Stringp[] args) {
A a1 = new B();
A a2 = new C();
B b = new B();
C c = new C();
doSomething(a1); //这里
doSomething(a2); //这里
doSomething(b); //这里,如果下面的方法不是用抽象类作参数,比如用C c做参数,这里会有什么问题?
doSomething(c); //这里
}

public static void doSomething(A a) {//这里,用抽象类,为什么,自己思考
a.doSomething();
}
}

//这个例子只是抽象类的最基本的设计模式,和接口差不多

‘陆’ java抽象类

其实狠好理解,因为抽象类包括抽象方法和非抽象方法。

如果父类是一个抽象类,当子类继承父类的时候,要实现抽象的方法,如果不实现的话,那么子类就必须是一个抽象的类。

‘柒’ JAVA: 为什么要使用"抽象类" 使用"抽象类"有什么好处

简单来说吧
抽象类是在接口和实体类之间的一个桥梁
例如
做一个接口叫做飞行FlyAnimalAction,里面定义一个方法叫做flying,再定义一个方法叫做eat
做一个类叫做蚊子实现接口,蚊子要实现flying方法,实现自己的eat方法
做一个类叫做苍蝇实现接口,苍蝇也要实现flying方法,实现自己的eat方法
你发现所有会飞的动物都要实现这个接口,很麻烦,不如
做一个抽象类FlyAnimal,然后实现上面的接口
在里面实现flying这个方法,因为大部分的飞行动作是一样的,而eat方法则继续写成抽象方法,因为大部分的动物吃东西是不一样的
下面你再写蚊子类就简单了,可以直接继承这个抽象类,然后实现自己的吃方法就行了
而且苍蝇类的制作也是一样,这个时候抽象类的功能就显示出来了,当然抽象类的功能远远不是这些,只是初期理解到这里就够了。
有兴趣可以交流交流,Q:405960,注明:JAVA技术交流

‘捌’ java中的抽象类的用法

1)在继承抽象类时,必须覆盖该类中的每一个抽象方法,而每个已实现的方法必须和抽象类中指定的方法一样,接收相同数目和类型的参数,具有同样的返回值,这一点与接口相同。 2)当父类已有实际功能的方法时,该方法在子类中可以不必实现,直接引用的方法,子类也可以重写该父类的方法(继承的概念)。
3)而实现 (implement)一个接口(interface)的时候,是一定要实现接口中所定义的所有方法,而不可遗漏任何一个。
4)另外,抽象类不能产生对象的,但可以由它的实现类来声明对象。 有鉴于此,在实现接口时,我们也常写一个抽象类,来实现接口中的某些子类所需的通用方法,接着在编写各个子类时,即可继承该抽象类来使用,省去在每个都要实现通用的方法的困扰。
编辑本段实例
为了让一个类成为抽象类,至少必须有一个纯虚函数。纯虚函数形式如下: virtual return type function() = 0; 例如,类A有两个纯虚函数lock()、unlock()和一个虚析构函数: class A { public: virtual void lock(void)=0; virtual void unlock(void)=0; virtual ~A(void); } 将函数lock()和unlock()初始化为0使它们成为纯虚函数,没有0这个初使化器,它们仅仅是虚函数。 class B : public A { protected: pthread_mutex_t x; public: B(void); ~B(void); virtual void lock(void) { ead_mutex_lock(x); } virtual void unlock(void) { ead_mutex_unlock(x); } } 抽象类对于提供模式、蓝图和后代类遵循的原则有用。如果遵循了蓝图的语义,后代类的行为可能按抽象类提供者和使用者所期望的那样。通过使用抽象类,C++程序员可以提供C++组件的规范,在它的构建中指导组件的实现者。

阅读全文

与java抽象类的使用相关的资料

热点内容
python学习手册epub 浏览:930
日韩经典悬疑犯罪电影推荐 浏览:576
现在能看的网站 浏览:781
怎么建立多个udp服务器 浏览:657
吃鸡令牌app是什么 浏览:548
汽车空调压缩机温度高 浏览:209
png压缩软件mac 浏览:411
能投屏电影网 浏览:27
怎么建立日本的aws云服务器 浏览:43
韩国有个弹钢琴的是什么电影 浏览:343
肉文百合小说 浏览:608
男主靠采补提升修为的小说 浏览:149
美国电影一天可以随便犯罪 浏览:663
电影封面一个人夹在热狗里 浏览:638
云服务器桌面黑瓶 浏览:831
word加密后无密码 浏览:845
如何右键添加压缩 浏览:72
韩漫梦魇pdf 浏览:527
欧洲爱情高分电影 浏览:317
安卓版滴滴出行怎么删除行程 浏览:938