本文主要介绍java编程抽象类和方法详解,有一定的参考价值,有需要的朋友可以参考一下。
类和抽象方法的常见知识点:
(1)抽象类是继承类,其子类必须实现抽象类中的所有抽象方法,除非子类也是抽象类。
也就是说,如果子类也是抽象类,父类中的抽象方法可能不会实现。然而,如果有一个非抽象类
从抽象子类继承,需要实现抽象子类的所有抽象方法和抽象子类的抽象父类,新账旧账一起算。
(2)抽象类不能用final修饰。
(3)抽象类不能实例化,也就是说在使用的时候不能用new关键字创建。
(4)抽象类可以包含抽象方法和非抽象方法。抽象方法没有方法体,也就是没有具体的实现。
它只定义函数,但非抽象方法包含方法体。
例如:
父类抽象人:
包com.lanhuigu.java;
/**
*抽象类:不能用final修饰,
*可以包含抽象方法和非抽象方法,
*抽象方法没有方法体,只定义函数,不实现;
*非抽象方法是普通方法。
*/
公共抽象类Person {
/*
*抽象方法
*/
公共抽象字符串eat();
公共抽象字符串sleep();
/*
*非抽象方法
*/
公共字符串sport() {
回归‘生命在于运动’;
}
}
非抽象子类教师:
包com.lanhuigu.java;
/**
*继承自抽象类person,父类中的所有抽象方法都必须实现。
*/
公共课教师扩展人{
@覆盖
公共字符串eat() {
//TODO自动生成的方法存根
还‘老师吃饭’;
}
@覆盖
公共字符串sleep() {
//TODO自动生成的方法存根
返回‘老师睡觉’;
}
}
非抽象子类学生:
包com.lanhuigu.java;
/**
*继承自抽象类person,父类中的所有抽象方法都必须实现。
*/
公共课学生拓展人{
@覆盖
公共字符串eat() {
//TODO自动生成的方法存根
还‘学生吃饭’;
}
@覆盖
公共字符串sleep() {
//TODO自动生成的方法存根
还‘学生睡觉’;
}
}
子类其他人:
包com.lanhuigu.java;
/**
*抽象类继承自抽象类,所以不需要实现其父类的抽象方法。
*/
公共抽象类OthersPerson扩展Person {
公共抽象字符串调用();
}
非抽象子类ExtendsOthersPerson从抽象子类OthersPerson继承:
包com.lanhuigu.java;
/**
*必须实现抽象父类OthersPerson,并在OthersPerson的父类Person中。
*所有的抽象方法,新账旧账一起算。
*/
公共类扩展OthersPerson扩展OthersPerson {
@覆盖
公共字符串sleep() {
//TODO自动生成的方法存根
返回“睡眠”;
}
@覆盖
公共字符串eat() {
//TODO自动生成的方法存根
返回‘吃’;
}
@覆盖
公共字符串调用(){
//TODO自动生成的方法存根
返回“呼叫”;
}
}
测试代码:
包com.lanhuigu.java;
公共类TestAbstract {
公共静态void main(String[] args) {
老师老师=新老师();
学生学生=新生();
//others person others person=new others person();//报告错误,无法实例化抽象类。
system . out . println(teacher . eat());
system . out . println(teacher . sleep());
system . out . println(teacher . sport());
//继承父类的非抽象方法
system . out . println('=============');
system . out . println(student . eat());
system . out . println(student . sleep());
system . out . println(student . sport());
//继承父类的非抽象方法
}
}
控制台输出:
老师吃饭
老师睡觉。
生命在于运动
==============
学生吃饭。
学生睡觉。
生命在于运动
总结
这就是本文中关于java编程抽象类和方法的全部详细解释。希望对你有帮助。感兴趣的朋友可以继续参考这个网站:
java中staticclass静态类详解
Java压缩文件工具类ZipUtil使用方法代码示例
Java编程关于子类重写父类方法问题的理解
如有不足之处,欢迎留言指出。感谢您对本网站的支持!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。