Ⅰ java中到底什么是抽象
在面向对象的概念中,我们知道所有的对象都是通过类来描绘的,但是反过来却不是这样。并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。抽象类往往用来表征我们在对问题领域进行分析、设计中得出的抽象概念,是对一系列看上去不同,但是本质上相同的具体概念的抽象。比如:如果我们进行一个图形编辑软件的开发,就会发现问题领域存在着圆、三角形这样一些具体概念,它们是不同的,但是它们又都属于形状这样一个概念,形状这个概念在问题领域是不存在的,它就是一个抽象概念。正是因为抽象的概念在问题领域没有对应的具体概念,所以用以表征抽象概念的抽象类是不能够实例化的。 在面向对象领域,抽象类主要用来进行类型隐藏。我们可以构造出一个固定的一组行为的抽象描述,但是这组行为却能够有任意个可能的具体实现方式。这个抽象描述就是抽象类,而这一组任意个可能的具体实现则表现为所有可能的派生类。模块可以操作一个抽象体。由于模块依赖于一个固定的抽象体,因此它可以是不允许修改的;同时,通过从这个抽象体派生,也可扩展此模块的行为功能。熟悉OCP的读者一定知道,为了能够实现面向对象设计的一个最核心的原则OCP(Open-Closed Principle),抽象类是其中的关键所在。
这是网络的一个解释,基本很完整也很好看明白了,如果再不懂,可以问我.
Ⅱ java 抽象怎么理解
抽象是一种面向对象的编程实践的核心原则, Java具有所有OOPs原则,抽象是一个Java语言的主要构建块。
数据抽象的跨度从创建简单的数据对象集合的实现复杂如HashMap或HashSet。
控制抽象是结构化编程背后主要驱动力。
Ⅲ java,实现抽象方法的方法
答案是肯定的。我看你是不太理解抽象方法。我来是说一下我的理解吧。也不知道对不对。你掂量掂量吧。呵呵。抽象方法是这样的。
抽象方法就是把子类要一定要实现的方法抽象出来。放到父类。继承父类的子类就一定得重写父类中的抽象方法。而非抽象方法不一定要重写。父类的抽象方法不是一定要继承。而是一定要重写。重写就覆盖了父类的相应的方法(实际是隐藏,说覆盖形象点).子类可以使用父类的非私有方法和非私有变量。
Ⅳ Java抽象类是什么概念
JAVA的抽象类其实和她的普通类在表示实现概念的东西没多大区别,不要因她带有抽象这个形容词就觉得比她的普通类理解起来复杂.
个人的理解是
所谓的抽象类呢,就是带有抽象方法的类.
所谓的抽象方法就像是一种写代码的规范.
抽象方法没有方法体
抽象方法可以有参数列表
抽象方法用abstract修饰
抽象方法的访问修饰分别为 public、protected、default(缺省 不用写)
加深了解抽象类
/*理解JAVA抽象类
* 1.抽象类不能被实例化.
* 2.抽象类有构造器,且他的构造在他的子类被实例化时被调用的顺序和普通类调用的顺序是一样的(先父后子).
* 3.抽象类内部的方法可以不是抽象方法,也就是说抽象类内部可以有具体的方法.
* 4.抽象类的抽象方法属于一种不完整的方法,只含有声明和定义,没有方法主体.
* 5.如果抽象的某个子类是普通类(非abstract类型的类),那么该子类必须Override抽象类中所有的抽象方法.
* 6.抽象类的子类也是抽象类的话,那么该子类既可以Override父类中的方法,也可以不Override父类中的方法.
* 7.普通类中不能定义抽象方法.
* 8.static不能修饰抽象方法
* 备注:为了方便理解,所谓的普通是指如下形式定义的类
* public class X{} 或 class A XX{}
* */
Ⅳ JAVA中的抽象类
抽象是java的特性之一,也是处理对象复杂性的一种技术!它是指只关注对象的重要细节,忽略次要细节!
在抽象类中定义的抽象方法,是由子类去实现,而不是去覆盖,因为在父类中没有具体的实现!
举一个例子:
父类:
abstract
class
MyClass
{
abstract
void
display(String
str);
}
子类:
abstract
class
MyChild
extends
MyClass
{
void
display(String
str)
{
.....
}
void
method1()
{
....
}
void
method2()
{
....
}
........
}
这个时候我需要用到display方法,其他的都不用!我们可以这样做:
MyClass
mc
=
new
MyChild();
mc.display();
我们声明的是一个父类类型的引用,只需要记住父类中有这个方法的声明,不用管它子类怎么去实现,而且看都不用看method1,method2...我们可以把精力都集中在父类!如果只有一个单纯的子类,很可能需要去看他的其他方法,尤其是当display与其他方法有关联的时候!有了这样一个抽象的父类,就可以省去这些精力,只需要知道父类有这个方法就行了!(或许这些在小程序中体现得并不很明显)
以上都是个人的理解,有不对的地方,还希望大家指正!
Ⅵ 怎样在java中定义一个抽象属性
只有抽象类和抽象方法,没有抽象属性,因为这是无意义的;建议你把抽象类搞清楚就明白了
abstract String s = " " 这样是不行嘀,抽象的修饰符只能修饰类和方法
Ⅶ JAVA抽象的概念
就比如说一只猫是一个对象,它的属性有腿,颜色(反正名词就是属性)等。它要吃饭就调用吃饭的方法(动词一般为方法),走路就调用走路的方法,好处就是将所有属于一个对象的所有属性方法封装起来方便重用!~
Ⅷ JAVA里抽象 到底是什么意思啊
抽象最直观的含义就是把现实中的东西抽离其关键特性,构成对象
说白了就是用程序的逻辑和数据结构模拟现实的世界..
比如说class human,表示人类
class asian extends human这是亚洲人类,这个亚洲人类是继承自人类的..
同样不只是实例,也可以把一些行为用相似的办法抽象化..
建议楼主看下java编程思想第一章,讲得很透彻
Ⅸ 什么是java抽象方法
抽象方法如下例子:
abstract Class A(){//抽象类
abstract void a();//抽象方法,没有方法体
}
注:1.抽象类或者接口不能被实例化;
2.有抽象方法的类一定是抽象类或者接口;
3.抽象类可以有不是抽象的属性跟方法;
4.子类继承抽象类必实现其抽象方法,除非子类是抽象类;
左上角有我头像,有很多有趣的朋友在一起讨论交流;