社区
Java SE
帖子详情
抽象的问题怎么理解?
baijinjin
2008-09-24 06:56:58
本人初学Java,现在对于多态和接口还很模糊,感觉很抽象,不好理解。 牛人们当时是怎么理解的啊? 请教一下,有没有什么好的方法来理解啊 ?
...全文
170
13
打赏
收藏
抽象的问题怎么理解?
本人初学Java,现在对于多态和接口还很模糊,感觉很抽象,不好理解。 牛人们当时是怎么理解的啊? 请教一下,有没有什么好的方法来理解啊 ?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lhf0000
2008-09-29
打赏
举报
回复
做多了,也就理解了~
baijinjin
2008-09-29
打赏
举报
回复
:-),知道了 ,感谢解答………… 以后就不细扣 了
bobor_2008
2008-09-25
打赏
举报
回复
多看书,多练习,多思考.
你就知道了.
哈库纳玛塔塔
2008-09-25
打赏
举报
回复
接口是好东西, 抽象类也是好东西, 在设计程序的抽象层时候使用这2个东西, 要尽量使用接口少用抽象类。
朋友设计的项目多了自然就理解了,初学 抽象类和接口什么时候使用确实是一个头疼的问题。因为抽象类貌似可以代替接口。 其不然。 随着设计的经验增加这2东西你会灵活运用的。
ouyangxiaokang6
2008-09-25
打赏
举报
回复
了解他的概念,然后多些程序就ok了。光看书没有。
jsjlw
2008-09-25
打赏
举报
回复
刚学java这些东西没必要死扣.
wufongming
2008-09-25
打赏
举报
回复
多看书,多练习,多思考
hero_winner
2008-09-24
打赏
举报
回复
貌似多态是相同的动作产生不同的行为,多态实现的是一对多,接口就是为了实现多对多
Xiaoyang
2008-09-24
打赏
举报
回复
先把概念的东西看下,然后自己多动手去做。慢慢的自然就理解了!
ke788
2008-09-24
打赏
举报
回复
奇怪,做好的图都歪了
ke788
2008-09-24
打赏
举报
回复
多 态 机 制
┌─-────-─┐
│ Feed │
├───────┤
│ feed()│
└───┬───┘
│
┌─────——─————————──┴——————————────────┐
│ │
│ │
┌───┴───┐ ┌───┴───┐
│ Food │ │Animal │
├───────┤ ├───────┤
│ │ │ eat() │
└───┬───┘ └───┬───┘
┌────┴────┐ ┌────┴────┐
│ │ │ │
┌──┴──┐ ┌──┴──┐ ┌──┴──┐ ┌──┴──┐
│Bone │ │Fish │ │ Dog │ │Cat │
├─────┤ ├─────┤ ├─────┤ ├─────┤
│ │ │ │ │eat()│ │eat()│
└─────┘ └─────┘ └─────┘ └─────┘
图1-1 饲养员Feeder、食物Food 和 动物Animal 及它的子类的类框图
public class Feeder{
public void feed(Animal animal, Food food){
animal.eat(food);
}
}
Feeder feeder = new Feeder();
Animal animal = new Dog();
Food food = new Bone();
feeder.feed(animal, food); //给狗喂肉骨头
animal = new Cat();
food = new Fish();
feeder.feed(animal, food); //给猫喂鱼
Animal animal = new Dog();
Dog dog = (Dog)animal; //向下转型,把Animal类型转换为Dog类型
Creature creature = animal; //向上转型,把Animal类型转换为Creature类型
──────────────────────────────────────────────────
例:父类Base和子类Sub中都定义了 实例变量var、实例方法method()、静态变量staticVar和静态
方法staticMethod(),此外,在Sub类中还定义了 实例变量subVar 和 subMethod()。
package com.kejiangwei.test;
class Base{
String var = "BaseVar"; //实例变量
static String staticVar = "StaticBaseVar"; //静态变量
void method(){ //实例方法
System.out.println("Base method");
}
static void staticMethod(){ //静态方法
System.out.println("Static Base method");
}
}
public class Sub extends Base{
String var = "SubVar"; //实例变量
static String staticVar = "StaticSubVar"; //静态变量
void method(){ //覆盖父类的method()方法
System.out.println("Sub method");
}
static void staticMethod(){ //隐藏父类staticMethod()方法
System.out.println("Static Sub method");
}
String subVar = "Var only belonging to Sub";
void subMethod(){
System.out.println("Method only belonging to Sub");
}
public static void main(String[] args){
Base who = new Sub(); //who被声明为Base类型,引用Sub实例
System.out.println("who.var = " + who.var); //打印Base类的var变量
System.out.println("who.staticVar = " + who.staticVar); //打印Base类的staticVar变量
who.method(); //打印Sub实例的method()方法
who.staticMethod(); //打印Base类的staticMethod()方法
}
}
jowzey_liu
2008-09-24
打赏
举报
回复
多看几遍书,要讲起来 不怎么好讲呢···
自己 理解 最重要了·
ZangXT
2008-09-24
打赏
举报
回复
先知道这个东西,不必细抠.写点程序,慢慢有经验了想不明白都难.
什么是
抽象
数据类型?
什么是
抽象
数据类型?前言1.数据类型和数据构造2.
抽象
数据类型的概念3.
抽象
数据类型的描述 前言
抽象
数据类型(Abstract Data Type,ADT)是计算机领域中被广泛接受的一种思想和方法,也是一种用于设计和实现程序模块的有效技术。ADT的基本思想是
抽象
,或者说是数据
抽象
(与函数定义实现的计算
抽象
或过程
抽象
对应)。 1.数据类型和数据构造 数据类型是程序设计领域最重要的基本概念之一。在程序里描述的、通过 计算机去处理的数据,通常都分属不同的类型,例如整数或浮点数等。每个类型包含一集合法的数据对象
如何
理解
数据结构中的
抽象
数据类型?
抽象
数据类型的标准格式 ADT
抽象
数据类型名 { Data: 数据元素之间逻辑关系的定义; Operation: 操作1; 操作2; ... } 什么是
抽象
数据类型?
抽象
数据类型(Abstract Data Type,ADT)是指一个数学模型以及定义在这个模型上的一组操作。
抽象
数据类型的定义仅仅取决于它的一组逻辑特性,而与它在计算机中的表示和实现无关。 例如,int类型的数据表示的...
抽象
类必须要有
抽象
方法吗?
抽象
类能使用 final 修饰吗?
抽象
类必须要有
抽象
方法吗?
抽象
类能使用 final 修饰吗?
抽象
类定义?为什么要使用
抽象
类?
为什么要使用
抽象
类? 有什么好处? 答案:1 现实中一些父类中的方法没必要写 各个子类中的方法会有所不同 所以没必要在父类中写 2 看被人代码时候会注意这是
抽象
方法 会有个提示作用 3 当看到一个类是
抽象
的,要关心他的
抽象
方法, 因为他的子类一定会重写他,然后去找
抽象
类的引用,,会有多态性的体现 4 面向对象复杂但是是为了方便解决
问题
5 含有
抽象
方法的类必须定义为
抽象
类 ...
递归思想如何
理解
?
相信很多初学的伙伴对递归是又爱又恨,递归能很轻松的解决一些复杂
问题
,但是
理解
起来太过
抽象
,对新手小白很不友好,今天这篇博客就让我来为大家分享一下我学习递归的心得和在学习过程中的一些误区,希望这篇博客能够帮到你; 因为自己淋过雨,所以也想为别人撑伞! 要
理解
递归首先要明白什么是递归? 递归,在计算机科学中是指一种通过重复将
问题
分解为同类的子
问题
而解决
问题
的方法。 这只是网上随便都能搜到的官方解释,对很多伙伴帮助并不大,该懵逼还是懵逼,那我们不妨从俗套的现实
问题
中
理解
递...
Java SE
62,614
社区成员
307,326
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章