A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

六w六

初级黑马

  • 黑马币:17

  • 帖子:14

  • 精华:0

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


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


9 个回复

倒序浏览
abstract class Teacher 这个是抽象类
private  String name;
private int age;  
这两个是成员变量 private是私有

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

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

我把 private去掉还是能正常编译呀?
回复 使用道具 举报
爱柯真是太好了 发表于 2016-5-17 20:55
abstract class Teacher 这个是抽象类
private  String name;
private int age;  

但是,我把private去掉还是能正常编译呀?,也可以正常运行
回复 使用道具 举报
六w六 发表于 2016-5-17 21:16
但是,我把private去掉还是能正常编译呀?,也可以正常运行

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

回答的真具体,谢谢
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马