黑马程序员技术交流社区

标题: 关于抽象有些问题想问一下大家 [打印本页]

作者: 六w六    时间: 2016-5-17 20:12
标题: 关于抽象有些问题想问一下大家
第一个问题,老师视频里说,abstract不能可以修饰常量,变量,但不能修饰成员变量。但是他给的例子里是这样的:abstract class Teacher{
         private  String name;
         private int age;                                          //这个不就是成员变量么???为什么说不能修饰????
}
第二个问题,老师讲课说,当方法不知道怎么实现时,就用抽象方法。举的例子是:
具体事物:猫,狗
共性:姓名,年龄,吃饭                                                          //父类中的“吃饭”用abstract修饰
猫的特性:抓老鼠                                                                     //为什么子类中的“抓老鼠”不用abstract修饰呢?抓老鼠不是抽象的么??
狗的特性:看家


第三个问题,我不是很理解,抽象是什么时候使用?我百度一下,还是不怎么懂。



作者: 爱柯真是太好了    时间: 2016-5-17 20:55
abstract class Teacher 这个是抽象类
private  String name;
private int age;  
这两个是成员变量 private是私有

抓老鼠功能只是举例子啊,也可以写成抽象的  这个只是举例

当你不知道功能的具体实现步骤就可以用抽象类   因为只有子类自己知道自己功能是怎么实现的
作者: 六w六    时间: 2016-5-17 21:14
爱柯真是太好了 发表于 2016-5-17 20:55
abstract class Teacher 这个是抽象类
private  String name;
private int age;  

我把 private去掉还是能正常编译呀?
作者: 六w六    时间: 2016-5-17 21:16
爱柯真是太好了 发表于 2016-5-17 20:55
abstract class Teacher 这个是抽象类
private  String name;
private int age;  

但是,我把private去掉还是能正常编译呀?,也可以正常运行
作者: ︶夜戏乀梦红尘    时间: 2016-5-17 22:11
六w六 发表于 2016-5-17 21:16
但是,我把private去掉还是能正常编译呀?,也可以正常运行

私有不私有都可以通过啊,私有是说只能在内部访问,并不影响程序编译,如果你私有之后,创建对象直接调用就会出错
作者: w19941102    时间: 2016-5-18 00:16
这两个是成员变量 private是私有
作者: ardstlian    时间: 2016-5-18 00:23
没有什么具体的意思,特性 只是给你举例说明的。
作者: mischen    时间: 2016-5-18 09:34
1、第一个是抽象类,抽象类里面可以放变量、常量、构造方法、一般方法。这里abstract是用来修饰类的,没有修饰成员变量
作者: mischen    时间: 2016-5-18 09:40
1、第一个是抽象类,抽象类里面可以放变量、常量、构造方法、一般方法。这里abstract是用来修饰类的,没有修饰成员变量
2、老师说得没错,当方法中不知道怎么实现时,就用抽象方法,抽象方法里面没有具体的实现细节,只有用继承的方式在子类中实现,所以子类中不能再出现abstract修饰
3、抽象:不具体,看不明白。抽象类表象体现。
在不断抽取过程中,将共性内容中的方法声明抽取,但是方法不一样,没有抽取,这时抽取到的方法,并不具体,需要被指定关键字abstract所标示,声明为抽象方法。

作者: 六w六    时间: 2016-5-18 22:35
mischen 发表于 2016-5-18 09:40
1、第一个是抽象类,抽象类里面可以放变量、常量、构造方法、一般方法。这里abstract是用来修饰类的,没有 ...

回答的真具体,谢谢




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2