课程
/后端开发
/Java
/Java入门第二季 升级版
abstract类中可以定义类的属性么
2015-08-10
源自:Java入门第二季 升级版 10-3
正在回答
已懂谢谢
抽象类也是类,可以有自己的属性和普通方法,唯一不同的就是它有一些抽象方法,需要子类继承去实现而已。
你是说abstract类中可不可以有下面这样的定义
int a=1;
private doube b=2;
public void m1(){}
可以。
类的属性,如果我理解的是这样的话。
继承抽象类只能继承它的方法么,那意思是抽象类就没有自己的属性
不知道你问的什么意思
abstract定义抽象类,该类不可以实例化,只可以被继承。
抽象类中的抽象方法必须被子类覆盖。
但是抽象类也可以有普通方法,静态方法,以及实例变量
对应于C++就是含有纯虚函数的类
另一个概念叫接口,它比抽象类更抽象,它的所有方法都是抽象方法,没有具体实现。只能被子类去实现。
C++可以用成员变量全为纯虚函数的类来模拟接口。
也许你会发现,如果把抽象类的方法全部定义为抽象的,那它就和接口一样了。
这里的区别就是,Java不允许多继承,一个类只能继承自一个抽象类,但是可以同时实现多个接口。
举报
课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙
3 回答不用abstract
2 回答父类是abstract类型,方法也用的abstract,父类编译器没有叉叉,为啥子类用方法是有叉叉不能用啊
4 回答abstract问题
1 回答abstract可以放在创建类或创建方法的public前后,比如创建类abstract public class Telphone=public abstract class Telphone,创建方法public abstract void call()=abstract public void call(),输出结果一样。抽象类里的方法加不加abstract都不影响其子类的输出结果,但会提示错误
5 回答abstract方法定义完子类就报错