java中 抽象类不可以实现方法吗
答案:6 悬赏:60 手机版
解决时间 2021-01-17 06:40
- 提问者网友:富士山上尢
- 2021-01-16 07:48
java中 抽象类不可以实现方法吗
最佳答案
- 五星知识达人网友:轮獄道
- 2021-01-16 08:04
抽象类可以实现方法,但是不可以实例化。
举例:
public abstract class A{
public void a(){//实现的方法a
}
public abstract void b();//抽象方法
} 补充抽象类特点:
1. 抽象方法 abstract void f(); 抽象方法不能包含有任何方法的BODY 。
2. 如果一个类包含1个或者多个抽象方法, 则该类必须限定为抽象的。
需要在前面指定 abstract 关键字。
(1)抽象类不能被实例化
(2)包含抽象方法的类,必须标识 abstract
3. 如果从一个抽象类继承, 必须对所有抽象方法进行覆盖 , 否则导出类也是抽象的
4. 也可以考虑创建没有任何抽象方法的抽象类 。
举例:
public abstract class A{
public void a(){//实现的方法a
}
public abstract void b();//抽象方法
} 补充抽象类特点:
1. 抽象方法 abstract void f(); 抽象方法不能包含有任何方法的BODY 。
2. 如果一个类包含1个或者多个抽象方法, 则该类必须限定为抽象的。
需要在前面指定 abstract 关键字。
(1)抽象类不能被实例化
(2)包含抽象方法的类,必须标识 abstract
3. 如果从一个抽象类继承, 必须对所有抽象方法进行覆盖 , 否则导出类也是抽象的
4. 也可以考虑创建没有任何抽象方法的抽象类 。
全部回答
- 1楼网友:猎心人
- 2021-01-16 11:18
可以,但是不得声明非final的变量
- 2楼网友:山河有幸埋战骨
- 2021-01-16 10:34
抽象类中的方法,不一定都是抽象的
但含有抽象方法的类一定是抽象类
因为一个类,可以有N哥方法
但含有抽象方法的类一定是抽象类
因为一个类,可以有N哥方法
- 3楼网友:你哪知我潦倒为你
- 2021-01-16 09:42
java 抽象类既可以包含 抽象方法 也可以包含一般的方法,如果是抽象方法必须加前缀 abstract。
- 4楼网友:詩光轨車
- 2021-01-16 09:10
有抽象方法的类一定是抽象类。但是抽象类中不一定都是抽象方法,也可以全是具体方法。
abstract修饰符在修饰类时必须放在类名前。
abstract修饰方法就是要求其子类覆盖(实现)这个方法。调用时可以以多态方式调用子类覆盖(实现)后的方法,也就是说抽象方法必须在其子类中实现,除非子类本身也是抽象类。
注意:父类是抽象类,其中有抽象方法,那么子类继承父类,并把父类中的所有抽象方法都实现(覆盖)了,子类才有创建对象的实例的能力,否则子类也必须是抽象类。抽象类中可以有构造方法,是子类在构造子类对象时需要调用的父类(抽象类)的构造方法。
举个简单的例子下面有一个抽象类
abstract class E{
public abstract void show();//public abstract 可以省略
}
然后其它类如果继承它通常为了实现它里面的方法
class F extends E{
void show(){
//写具体实现的代码
}
}
最后再主方法里面定义一个父类引用指向子类对象,就会发生多态现象,比如
E e=new F();
e.show();
实际调用了子类里面的show()方法
abstract修饰符在修饰类时必须放在类名前。
abstract修饰方法就是要求其子类覆盖(实现)这个方法。调用时可以以多态方式调用子类覆盖(实现)后的方法,也就是说抽象方法必须在其子类中实现,除非子类本身也是抽象类。
注意:父类是抽象类,其中有抽象方法,那么子类继承父类,并把父类中的所有抽象方法都实现(覆盖)了,子类才有创建对象的实例的能力,否则子类也必须是抽象类。抽象类中可以有构造方法,是子类在构造子类对象时需要调用的父类(抽象类)的构造方法。
举个简单的例子下面有一个抽象类
abstract class E{
public abstract void show();//public abstract 可以省略
}
然后其它类如果继承它通常为了实现它里面的方法
class F extends E{
void show(){
//写具体实现的代码
}
}
最后再主方法里面定义一个父类引用指向子类对象,就会发生多态现象,比如
E e=new F();
e.show();
实际调用了子类里面的show()方法
- 5楼网友:持酒劝斜阳
- 2021-01-16 08:51
可以 absctract 的方法不能实现
abstract class里可以有非abstract 方法 这样的方法可以实现
abstract class里可以有非abstract 方法 这样的方法可以实现
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯