abstract修饰符
来源:互联网 发布:自动股票交易软件 编辑:程序博客网 时间:2024/04/20 05:14
abstract
1抽象方法不能有实体
public abstract void method(){};
必须改为public abstract void method();
而且如果类中有abstract这个类就必须加abstract关键字变为抽象类,而且抽象类不能实例化
2.抽象类可以没有抽象方法,但是有抽象方法的类必须被定义为抽象类
3.如果子类没有实现父类的所有抽象方法,那么子类也必须被定义为抽象类
4.没有抽象构造方法,也没有抽象静态方法
5.抽象类中可以有非抽象的构造方法,创建子类的实例时会调用这些构造方法,抽象类不能被实例化,然而可以创建一个引用变量,其类型是抽象类,但是它引用的是非抽象的子类
abstract class Base{}
public class Sub extends Base{
public static voidmain(String[] args)
{
Base b = new Base(); //编译错误
Base b2 = new Sub(); //可以
}
}
6.抽象类及抽象方法不能被final修饰符修饰。abstract和final不能连用。因为抽象类只有允许创建其子类,它的抽象方法才能被实现,并且只有它的具体子类才能被实例化,
而用final修饰的类不允许拥有子类,用final修饰的方法不允许子类方法覆盖,因此连用会自相矛盾
1抽象方法不能有实体
public abstract void method(){};
必须改为public abstract void method();
而且如果类中有abstract这个类就必须加abstract关键字变为抽象类,而且抽象类不能实例化
2.抽象类可以没有抽象方法,但是有抽象方法的类必须被定义为抽象类
3.如果子类没有实现父类的所有抽象方法,那么子类也必须被定义为抽象类
4.没有抽象构造方法,也没有抽象静态方法
5.抽象类中可以有非抽象的构造方法,创建子类的实例时会调用这些构造方法,抽象类不能被实例化,然而可以创建一个引用变量,其类型是抽象类,但是它引用的是非抽象的子类
abstract class Base{}
public class Sub extends Base{
public static voidmain(String[] args)
{
Base b = new Base(); //编译错误
Base b2 = new Sub(); //可以
}
}
6.抽象类及抽象方法不能被final修饰符修饰。abstract和final不能连用。因为抽象类只有允许创建其子类,它的抽象方法才能被实现,并且只有它的具体子类才能被实例化,
而用final修饰的类不允许拥有子类,用final修饰的方法不允许子类方法覆盖,因此连用会自相矛盾
阅读全文
0 0
- abstract修饰符
- abstract修饰符浅析
- Java abstract修饰符
- java修饰符:abstract
- Java abstract修饰符
- abstract修饰符
- abstract修饰符说明
- java abstract修饰符
- abstract修饰符
- abstract修饰符
- java修饰符五(abstract 修饰符)
- java修饰符(abstract 修饰符)
- abstract修饰符 和 interface修饰符
- virtual 修饰符 和 abstract 修饰
- C#之修饰符-----abstract
- 修饰符(final,static,abstract)
- C# abstract修饰符浅析
- JAVA中的abstract修饰符
- BZOJ1040 骑士 【环套树 树形dp】
- Immutable Pattern
- 单片机-外部中断
- JSP页面获取网站的协议类型(http或https)
- 百度的语音合成功能
- abstract修饰符
- vj水题tram
- Mac端pycharm平台下pyenv和pyenv-virtualenv管理python版本的安装和简单实用
- cannot create method implementations.<modle:java:base>is not on its projects
- 《TCP/IP网络编程》一、套接字/TCP/UDP
- final修饰符
- 在vue项目中使用Sass/Scss(视窗环境)
- 梯度下降算法与随机梯度下降
- 左旋转字符串(字符串)